1.\" Copyright (c) 1980, 1990 The Regents of the University of California. 2.\" All rights reserved. 3.\" 4.\" %sccs.include.redist.man% 5.\" 6.\" @(#)adb.1 5.7 (Berkeley) 06/11/90 7.\" 8.Dd 9.Dt ADB 1 10.Os BSD 4 11.Sh NAME 12.Nm adb 13.Nd debugger 14.Sh SYNOPSIS 15.Nm adb 16.Op Fl w 17.Op Fl k 18.Oo 19.Op Fl I Ar dir 20.Oo 21.Op Ar objfil Op Ar corfil 22.Sh DESCRIPTION 23.Nm Adb 24is a general purpose debugging program. 25It may be used to examine files and to provide 26a controlled environment for the execution of UNIX programs. 27.Pp 28.Ar Objfil 29is normally an executable program file, preferably 30containing a symbol table; if not then the symbolic features of 31.Nm adb 32cannot be used although the file can still be examined. 33The default for 34.Ar objfil 35is 36.Pa a.out . 37.Ar Corfil 38is assumed to be a core image file produced after executing 39.Ar objfil ; 40the default for 41.Ar corfil 42is 43.Pa core 44.Pp 45Requests to 46.Nm adb 47are read from the standard input and responses are to the standard output. 48If the 49.Fl w 50flag is present then both 51.Ar objfil 52and 53.Ar corfil 54are created if necessary and opened for reading and writing 55so that files can be modified using 56.Nm adb . 57.Pp 58The 59.Fl k 60option makes 61.Nm adb 62do UNIX kernel memory 63mapping; it should be used when 64.Pa core 65is a UNIX crash dump 66or 67.Pa /dev/mem . 68.Pp 69The 70.Fl I 71option specifies a directory where files to be read 72with 73.Li $< 74or 75.Li $<< 76(see below) will be sought; the default is 77.Pa /usr/lib/adb . 78.Pp 79.Nm Adb 80ignores 81.Li QUIT ; 82.Li INTERRUPT 83causes return to the next 84.Nm adb 85command. 86.Pp 87In general requests to 88.Nm adb 89are of the form 90.Pp 91.ti +\n(Dsu 92.Op Ad address 93.Op \&, Va count 94.Op Ic command 95.Op \&; 96.Pp 97If 98.Ad address 99is present then 100.Ad dot 101is set to 102.Ad address . 103Initially 104.Ad dot 105is set to 0. For most commands 106.Va count 107specifies how many times the command will be executed. The default 108.Va count 109is 1. 110.Ad Address 111and 112.Va count 113are expressions. 114.Pp 115The interpretation of an address depends on the context it is used in. 116If a subprocess is being debugged then addresses are interpreted 117in the usual way in the address space of the subprocess. 118If the operating system is being debugged either post-mortem or using 119the special file 120.Pa /dev/mem 121to interactively examine and/or modify memory, the maps are set to map 122the kernel virtual addresses which start at 123.Li \&0x80000000 124(on the VAX); see ADDRESSES below. 125.Sh EXPRESSIONS 126.Tw Li 127.Tp Sy \&\. 128The value of 129.Ad dot . 130.Tp Sy \&\+ 131The value of 132.Ad dot 133incremented by the current increment. 134.Tp Sy \&^ 135The value of 136.Ad dot 137decremented by the current increment. 138.Tp Sy \&" 139The last 140.Ad address 141typed. 142.Tp Va integer 143A number. The prefixes 144.Li \&0o 145and 146.Li \&0O 147(\*(lqzero oh\*(rq) 148force interpretation 149in octal radix; the prefixes 150.Li 0t 151and 152.Li 0T 153force interpretation in 154decimal radix; the prefixes 155.Li 0x 156and 157.Li 0X 158force interpretation in 159hexadecimal radix. Thus 160.Li 0o20 161= 162.Li 0t16 163= 164.Li 0x10 165= sixteen. 166If no prefix appears, then the 167.Em default radix 168is used; see the 169.Li $d 170command. The default radix is initially hexadecimal. 171The hexadecimal digits are 172.Li 0123456789abcdefABCDEF 173with the obvious 174values. Note that a hexadecimal number whose most significant 175digit would otherwise be an alphabetic character must have a 176.Li 0x 177(or 178.Li 0X ) 179prefix (or a leading zero if the default radix is hexadecimal). 180.Tp Va integer.fraction 181A 32 bit floating point number. 182.Tp Li \'cccc\' 183The ASCII value of up to 4 characters. 184.Li \e 185may be used to escape a 186.Li \' . 187.Tp Va < name 188The value of 189.Va name , 190which is either a variable name or a register name. 191.Nm Adb 192maintains a number of variables (see 193VARIABLES below) 194named by single letters or digits. 195If 196.Va name 197is a register name then the value of the register is obtained from 198the system header in 199.Ar corfil . 200The register names are those printed by the 201.Li $r 202command. 203.Tp Va symbol 204A 205.Va symbol 206is a sequence of upper or lower case letters, underscores or 207digits, not starting with a digit. The backslash character 208.Li \e 209may be used to escape other characters. The value of the 210.Va symbol 211is taken from the symbol table in 212.Ar objfil . 213An initial 214.Li \_ 215will be prepended to 216.Va symbol 217if needed. 218.Tp Va _symbol 219In C, the `true name' of an external symbol begins with 220.Li \_ . 221It may be necessary to utter this name to distinguish it 222from internal or hidden variables of a program. 223.Tp Va routine.name 224The address of the variable 225.Va name 226in the specified C routine. Both 227.Va routine 228and 229.Va name 230are 231.Va symbols . 232If 233.Va routine 234is omitted, the currently active frame is used. 235(This form is currently broken; local variables can be examined 236only with 237.Xr dbx 1 ) . 238If 239.Va name 240is omitted the value is the address 241of the most recently activated C stack frame 242corresponding to 243.Va routine 244(this much works). 245.Tp (exp) 246.\" .Tp Cx \&(\& 247.\" .Va exp 248.\" .Cx \&)\& 249The value of the expression 250.Va exp . 251.Tp 252.Pp 253.Ss Monadic Operators 254.Pp 255.Dp Cx Li \&* 256.Va exp 257.Cx 258The contents of the location addressed by 259.Va exp 260in 261.Ar corfil . 262.Dp Cx Li \&@ 263.Va exp 264.Cx 265The contents of the location addressed by 266.Va exp 267in 268.Ar objfil . 269.Dp Cx Li \&\- 270.Va exp 271.Cx 272Integer negation. 273.Dp Cx Li \&~ 274.Va exp 275.Cx 276Bitwise complement. 277.Dp Cx Li \&# 278.Va exp 279.Cx 280Logical negation. 281.Dp 282.Ss Dyadic operators 283are left associative and are less binding than monadic operators. 284.Dp Cx Va e1 285.Li \&\+ 286.Va e2 287.Cx 288Integer addition. 289.Dp Cx Va e1 290.Li \&\- 291.Va e2 292.Cx 293Integer subtraction. 294.Dp Cx Va e1 295.Li \&* 296.Va e2 297.Cx 298Integer multiplication. 299.Dp Cx Va e1 300.Li \&% 301.Va e2 302.Cx 303Integer division. 304.Dp Cx Va e1 305.Li & 306.Va e2 307.Cx 308Bitwise conjunction. 309.Dp Cx Va e1 310.Li \&| 311.Va e2 312.Cx 313Bitwise disjunction. 314.Dp Cx Va e1 315.Li # 316.Va e2 317.Cx 318.Va E1 319rounded up to the next multiple of 320.Va e2 . 321.Dp 322.Sh COMMANDS 323Most commands consist of a verb followed by a modifier or list of modifiers. 324The following verbs are available. 325(The commands 326.Ic ? 327and 328.Li / 329may be followed by 330.Li * ; 331see the 332ADDRESSES section 333for further details.) 334.Tw XXX 335.Tp Cx Ic ? 336.Va f 337.Cx 338Locations starting at 339.Ad address 340in 341.Ar objfil 342are printed according to the format 343.Va f . 344.Ad dot 345is incremented by the sum of the increments for each format letter (q.v.). 346.Tp Cx Ic / 347.Va f 348.Cx 349Locations starting at 350.Ad address 351in 352.Ar corfil 353are printed according to the format 354.Va f 355and 356.Ad dot 357is incremented as for 358.Ic ? . 359.Tp Cx Ic = 360.Va f 361.Cx 362The value of 363.Ad address 364itself is printed in the styles indicated by the format 365.Va f . 366(For 367.Va i 368format zero values are assumed 369for the parts of the instruction that reference 370subsequent words.) 371.Tp 372.Pp 373A 374.Va format 375consists of one or more characters that specify a style of printing. 376Each format character may be preceded by a decimal integer 377that is a repeat count for the format character. 378While stepping through a format 379.Ad dot 380is incremented by the amount given for each format letter. 381If no format is given then the last format is used. 382The format characters available are as follows. 383Note that a backslash 384.Cx ( 385.Li \e 386.Cx ) 387.Cx 388must be used 389to quote the three numeric formats. 390.Dw \&M_____\&M 391.Dp Cx Ic 1 392.Cx \&\ \ \& 393.Va 1 394.Cx 395Print 1 byte in the current radix 396(which may be either signed or unsigned; see the 397.Li $d 398command). 399.Dp Cx Ic 2 400.Cx \&\ \ \& 401.Va 2 402.Cx 403Print 2 bytes in the current radix. 404.Dp Cx Ic 4 405.Cx \&\ \ \& 406.Va 4 407.Cx 408Print 4 bytes in the current radix. 409.Dp Cx Ic v 410.Cx \&\ \ \& 411.Va 2 412.Cx 413Print 2 bytes in the signed variant of the current radix. 414.Dp Cx Ic V 415.Cx \&\ \ \& 416.Va 4 417.Cx 418Print 4 bytes in the signed variant of the current radix. 419.Dp Cx Ic o 420.Cx \&\ \ \& 421.Va 2 422.Cx 423Print 2 bytes in unsigned octal. All octal numbers output by 424.Nm adb 425are preceded by 0. 426.Dp Cx Ic O 427.Cx \&\ \ \& 428.Va 4 429.Cx 430Print 4 bytes in unsigned octal. 431.Dp Cx Ic q 432.Cx \&\ \ \& 433.Va 2 434.Cx 435Print 2 bytes in signed octal. 436.Dp Cx Ic Q 437.Cx \&\ \ \& 438.Va 4 439.Cx 440Print 4 bytes in signed octal. 441.Dp Cx Ic u 442.Cx \&\ \ \& 443.Va 2 444.Cx 445Print 2 bytes in unsigned decimal. 446.Dp Cx Ic U 447.Cx \&\ \ \& 448.Va 4 449.Cx 450Print 4 bytes in long unsigned decimal. 451.Dp Cx Ic d 452.Cx \&\ \ \& 453.Va 2 454.Cx 455Print 2 bytes in signed decimal. 456.Dp Cx Ic D 457.Cx \&\ \ \& 458.Va 4 459.Cx 460Print 4 bytes in long signed decimal. 461.Dp Cx Ic x 462.Cx \&\ \ \& 463.Va 2 464.Cx 465Print 2 bytes in unsigned hexadecimal. 466.Dp Cx Ic X 467.Cx \&\ \ \& 468.Va 4 469.Cx 470Print 4 bytes in unsigned hexadecimal. 471.Dp Cx Ic z 472.Cx \&\ \ \& 473.Va 2 474.Cx 475Print 2 bytes in signed hexadecimal. 476.Dp Cx Ic Z 477.Cx \&\ \ \& 478.Va 4 479.Cx 480Print 4 bytes in signed hexadecimal. 481.Dp Cx Ic f 482.Cx \&\ \ \& 483.Va 4 484.Cx 485Print 4 bytes as a floating point number. 486.Dp Cx Ic F 487.Cx \&\ \ \& 488.Va 8 489.Cx 490Print 8 bytes as a double floating point number. 491.Dp Cx Ic b 492.Cx \&\ \ \& 493.Va 1 494.Cx 495Print 1 byte in unsigned octal. 496.Dp Cx Ic c 497.Cx \&\ \ \& 498.Va 1 499.Cx 500Print 1 byte as a character. 501.Dp Cx Ic C 502.Cx \&\ \ \& 503.Va 1 504.Cx 505Print 1 byte as a character, using 506the standard escape convention where control characters 507are printed as ^X and the delete character is printed as ^?. 508.Dp Cx Ic s 509.Cx \&\ \ \& 510.Va n 511.Cx 512Print the addressed characters until a zero character is reached. 513.Dp Cx Ic S 514.Cx \&\ \ \& 515.Va n 516.Cx 517Print a string using the ^ 518.Ar X 519escape convention (see 520.Ar C 521above). 522.Ar n 523is the length of the string including its zero terminator. 524.Dp Cx Ic Y 525.Cx \&\ \ \& 526.Va 4 527.Cx 528Print 4 bytes in date format (see 529.Xr ctime 3 ) . 530.Dp Cx Ic i 531.Cx \&\ \ \& 532.Va n 533.Cx 534Print as machine instructions. 535.Ar n 536is the number of bytes occupied by the instruction. 537This style of printing causes the numeric variables 1, 2, ... to be set 538according to the offset parts of the arguments, if any, of the instruction 539(up to 6 on the VAX). 540.Dp Cx Ic a 541.Cx \&\ \ \& 542.Va 0 543.Cx 544Print the value of 545.Ad dot 546in symbolic form. 547Symbols are checked to ensure that they have an appropriate 548type as indicated below. 549.Dw AAAA 550.Dp Va / 551local or global data symbol 552.Dp Va \&? 553.Cx 554local or global text symbol 555.Dp Va \&= 556.Cx 557local or global absolute symbol 558.Dp 559.Dp Cx Ic p 560.Cx \&\ \ \& 561.Va 4 562.Cx 563Print the addressed value in symbolic form using 564the same rules for symbol lookup as 565.Ic a . 566.Dp Cx Ic t 567.Cx \&\ \ \& 568.Va 0 569.Cx 570When preceded by an integer tabs to the next appropriate tab stop. 571For example, 572.Li 8t 573moves to the next 8-space tab stop. 574.Dp Cx Ic r 575.Cx \&\ \ \& 576.Va 0 577.Cx 578Print a space. 579.Dp Cx Ic n 580.Cx \&\ \ \& 581.Va 0 582.Cx 583Print a newline. 584.Dp Ic \*(Rq...\*(Lq 585.Va 0 586\&\ \ \& 587Print the enclosed string. 588.Dp ^ 589.Ad Dot 590is decremented by the current increment. Nothing is printed. 591.Dp + 592.Ad Dot 593is incremented by 1. Nothing is printed. 594.Dp \- 595.Ad Dot 596is decremented by 1. Nothing is printed. 597.Dp newline 598Repeat the previous command with a 599.Va count 600of 1. 601.Dp 602.Pp 603.Tw $modifier 604.Tp Cx Op Ic ?/ 605.Ic l\ \& 606.Va value mask 607.Cx 608Words starting at 609.Ad dot 610are masked with 611.Va mask 612and 613compared with 614.Va value 615until a match is found. 616If 617.Cm L 618is used then the match is for 4 bytes at a time instead of 2. 619If no match is found then 620.Ad dot 621is unchanged; otherwise 622.Ad dot 623is set to the matched location. 624If 625.Va mask 626is omitted then all bits are compared. 627.Tp Cx Op Ic ?/ 628.Ic w\ \& 629.Va value ... 630.Cx 631Write the 2-byte 632.Va value 633into the addressed location. If the command is 634.Ic W , 635write 4 bytes. 636Odd addresses 637.Em are 638allowed 639when writing to the subprocess address space. 640.Tp Cx Op Ic ?/ 641.Ic m\ \& 642.Ad b1 e1 f1 643.Op Ic ?/ 644.Cx 645New values for 646.Ad ( b1 , e1 , f1 ) 647are recorded. If less than three expressions are given then 648the remaining map parameters are left unchanged. 649If the 650.Ic ? 651or 652.Ic / 653is followed by 654.Li * 655then 656the second segment ( 657.Ad ( b2 , e2 , f2 ) 658of the mapping is changed. 659If the list is terminated by 660.Ic ? 661or 662.Ic / 663then the file 664.Ar ( objfil 665or 666.Ar corfil 667respectively) is used for subsequent requests. 668For example, 669.Li /m? 670will cause 671.Ic / 672to refer to 673.Ar objfil . 674.Tp Cx Ic > 675.Va name 676.Cx 677.Ad Dot 678is assigned to the variable or register named. 679.Tp Ic \&! 680A shell 681.Cx \&( 682.Pa /bin/sh ) 683.Cx 684is called to read the rest of the line following 685.Ic \&! . 686.Tp Cx Cm $ 687.Va modifier 688.Cx 689Miscellaneous commands. The available 690.Va modifiers 691are: 692.Tw fil 693.Tp Cx Cm < 694.Va file 695.Cx 696Read commands from 697.Va file 698If this command is executed in a file, further commands 699in the file are not seen. 700If 701.Va file 702is omitted, the current input stream is terminated. If a 703.Va count 704is given, and is zero, the command will be ignored. 705The value of the count will be placed in variable 706.Va 9 707before the first command in 708.Va file 709is executed. 710.Tp Cx Cm << 711.Va file 712.Cx 713Similar to 714.Cm < 715except it can be used in a file of commands without 716causing the file to be closed. Variable 717.Va 9 718is saved during the execution of this command, and restored when it completes. 719There is a (small) finite limit to the number of 720.Cm << 721files that can be open at once. 722.Tp Cx Cm > 723.Va file 724.Cx 725Append output to the file 726.Va file , 727which is created if it does not exist. If 728.Va file 729is omitted, output is returned to the terminal. 730.Tp Cx Cm ? 731.Va file 732.Cx 733Print process id, the signal which caused stoppage or termination, 734as well as the registers as 735.Ic $r . 736This is the default if 737.Va modifier 738is omitted. 739.Tp Cm r 740Print the general registers and the instruction addressed by 741.Nm pc . 742.Ad Dot 743is set to 744.Nm pc . 745.Tp Cm b 746Print all breakpoints and their associated counts and commands. 747.Tp Cm c 748C stack backtrace. If 749.Ad address 750is given then it is taken as the address of the current frame 751instead of the contents of the frame\-pointer register. If 752.Cm C 753is used then the names and (32 bit) values of all automatic 754and static variables are printed for each active function 755(this is partially broken; the names are not now available). If 756.Va count 757is given then only the first 758.Va count 759frames are printed. 760.Tp Cm d 761Set the default radix to 762.Ad address 763and report the new value. If no 764.Ad address 765is given, the default radix is not changed. 766The new radix must be between -16 (decimal) and 16 (decimal) 767and must not be 0, 1, or -1. 768A negative radix implies that numbers printed in that radix 769will be treated as signed; otherwise they are treated as unsigned. 770Note that 771.Ad address 772is interpreted in the (old) current radix. 773Thus \*(lq10$d\*(rq simply changes the default radix to unsigned. 774To make signed decimal the default radix, use \*(lq-0t10$d\*(rq. 775.Tp Cm e 776The names and values of external variables are printed. 777.Tp Cm w 778Set the page width for output to 779.Ad address 780(default 80). 781.Tp Cm s 782Set the limit for symbol matches to 783.Ad address 784(default 1024). 785.Tp Cm q 786Exit from 787.Nm adb . 788.Tp Cm v 789Print all non zero variables in octal. 790.Tp Cm m 791Print the address map. 792.Tp Cm p 793.Em ( Kernel debugging ) 794Change the current kernel memory mapping to map the designated 795.Sy user structure 796to the address given by the symbol 797.Sy _u . 798The 799.Ad address 800argument is the address of the user's user page table entries. 801.Tp 802.Tp Cx Cm : 803.Va modifier 804.Cx 805Manage a subprocess. Available modifiers are: 806.Tw Ds 807.Tp Cx Cm b 808.Va c 809.Cx 810Set breakpoint at 811.Ad address . 812The breakpoint is executed 813.Va count\-1 814times before causing a stop, 815after which it stops unconditionally. 816Each time the breakpoint is encountered the command 817.Va c 818is executed. If this command is omitted or sets 819.Ad dot 820to zero, the breakpoint causes a stop immediately, 821regardless of any remaining count. 822.Tp Cm d 823Delete breakpoint at 824.Ad address . 825.Tp Cm D 826Delete all breakpoints. 827.Tp Cm r 828Run 829.Ar objfil 830as a subprocess. If 831.Ad address 832is given explicitly then the program is entered at this point; otherwise 833the program is entered at its standard entry point. 834.Va count 835specifies how many breakpoints are to be ignored before stopping. 836Arguments to the subprocess may be supplied on the same line as the command. 837An argument starting with < or > causes the standard 838input or output to be established for the command. 839.Tp Cx Cm c 840.Va s 841.Cx 842The subprocess is continued with signal 843.Va s 844see 845.Xr sigvec 2 . 846If 847.Ad address 848is given then the subprocess is continued at this address. 849If no signal is specified then the signal 850that caused the subprocess to stop is sent. 851Breakpoint skipping is the same as for 852.Cm r . 853.Tp Cx Cm s 854.Va s 855.Cx 856As for 857.Cm c 858except that the subprocess is single stepped 859.Va count 860times. If there is no current subprocess then 861.Ar objfil 862is run as a subprocess as for 863.Cm r . 864In this case no signal can be sent; the remainder of the line 865is treated as arguments to the subprocess. 866.Tp Cm k 867The current subprocess, if any, is terminated. 868.Tp 869.Tp 870.Sh VARIABLES 871.Nm Adb 872provides a number of variables. 873Named variables are set initially by 874.Nm adb 875but are not used subsequently. 876Numbered variables are reserved for communication as follows. 877.Dw Ds 878.Di L 879.Dp \&0 880The last value printed. 881.Dp \&1 882The last offset part of an instruction source. 883This continues up through at most 6 on the VAX. 884For a three-operand instruction, variable 2 is the second source offset 885and variable 3 the destination offset part. 886.Dp \&9 887The count on the last $< or $<< command. 888.Dp 889On entry the following are set from the system header in the 890.Ar corfil . 891If 892.Ar corfil 893does not appear to be a 894.Pa core 895file then these values are set from 896.Ar objfil . 897.Dw Ds 898.Di L 899.Dp b 900The base address of the data segment. 901.Dp d 902The data segment size. 903.Dp e 904The entry point. 905.Dp m 906The `magic' number (0407, 0410 or 0413). 907.Dp s 908The stack segment size. 909.Dp t 910The text segment size. 911.Sh ADDRESSES 912The address in a file associated with 913a written address is determined by a mapping associated with that file. 914Each mapping is represented by two triples 915.Ad ( b1 , e1 , f1 ) 916and 917.Ad ( b2 , e2 , f2 ) 918and the 919.Ad file 920.Ad address 921corresponding to a written 922.Ad address 923is calculated as follows. 924.Pp 925.Ds I 926.Cx Ad b1 927.Sy \&\*(<= 928.Ad address 929.Sy < 930.Ad e1 931.Sy \ \&\(->\ \& 932.Ad file address 933.Sy = 934.Ad address 935.Sy + 936.Ad f1 937.Sy \- 938.Ad b1 , 939.Cx \ \& 940.Cx otherwise, 941.Cx 942.De 943.Pp 944.Ds I 945.Cx Ad b2 946.Sy \&\*(<= 947.Ad address 948.Sy < 949.Ad e2 950.Sy \ \&\(->\ \& 951.Ad file address 952.Sy = 953.Ad address 954.Sy + 955.Ad f2 956.Sy \- 957.Ad b2 , 958.Cx 959.De 960.Pp 961otherwise, the requested 962.Ar address 963is not legal. In some cases (e.g. for programs with separated I and D 964space) the two segments for a file may overlap. If a 965.Ic ? 966or 967.Ic / 968is followed by an 969.Ic * 970then only the second triple is used. 971.Pp 972The initial setting of both mappings is suitable for normal 973.Pa a.out 974and 975.Pa core 976files. If either file is not of the kind expected then, for that file, 977.Ad b1 978is set to 979.Li 0 , 980.Ad e1 981is set to the maximum file size and 982.Ad f1 983is set to 0; in this way the whole 984file can be examined with no address translation. 985.Pp 986.Sh FILES 987.Dw a.out 988.Dp Pa a.out 989.Dp Pa core 990.Dp 991.Sh SEE ALSO 992.Xr cc 1 , 993.Xr dbx 1 , 994.Xr ptrace 2 , 995.Xr a.out 5 , 996.Xr core 5 997.Sh HISTORY 998.Nm Adb 999was first released with Version 7 AT&T UNIX. The version 1000of 1001.Nm adb 1002this man page describes 1003is descended from the orignial. 1004.Sh DIAGNOSTICS 1005.Li `adb' 1006when there is no current command or format. 1007Comments about inaccessible files, syntax errors, 1008abnormal termination of commands, etc. 1009Exit status is 0, unless last command failed or returned nonzero status. 1010.Sh BUGS 1011Since no shell is invoked to interpret the arguments of the 1012.Ic :r 1013command, the customary wild-card and variable expansions cannot occur. 1014