#-h- 700 a11/d1/Makefile GCC=gcc -Werror -Wall -g -std=gnu1x -I/cs/www/classes/cs352/fall15/h EXECS=lam mcycle mar alloc1 alloc2 alloc3 alloc-shell ALL=$(EXECS) alloc.o all: $(ALL) lam: lam.c $(GCC) -o lam lam.c mar: mar.c $(GCC) -o mar mar.c mcycle: mcycle.c $(GCC) -o mcycle mcycle.c alloc1: a11/alloc1.c alloc.c $(GCC) -o alloc1 a11/alloc1.c alloc.c alloc2: a11/alloc2.c alloc.c $(GCC) -o alloc2 a11/alloc2.c alloc.c alloc3: a11/alloc3.c alloc.c $(GCC) -o alloc3 a11/alloc3.c alloc.c alloc-shell: a11/alloc-shell.c alloc.c $(GCC) -o alloc-shell a11/alloc-shell.c alloc.c -lreadline install: chmod 711 $(EXECS) cp $(EXECS) alloc.o a11 echo-execs: echo $(EXECS) clean: rm -f *.o $(ALL) *.build core #-h- 2377 a11/d1/alloc-shell.c // // This is a line-oriented test driver for alloc.c. It's // quick and dirty but it provides partial testing of // of the alloc.c API via scripts of commands. One example // of a script is alloc1.1. Run it like this: // // alloc1 < alloc1.1 // #define _GNU_SOURCE #include #include #include #include #include #include "/cs/www/classes/cs352/fall15/a11/alloc.h" void dumpbytes(char *label, char *addr, int nbytes) { printf("%s", label); for (int i = 0; i < nbytes; i++) { if (i % 10 == 0) printf("\n%5d:", i); printf("%4u", addr[i]); } puts(""); } int main() { char *line; void *allocs[10000], **next = allocs; int sizes[10000]; while ((line = readline("\nalloc> "))) { add_history(line); int n, blocks, size; char buf[100] = {}; if (*line == '#') ; else if (sscanf(line, "a %d %s", &n, buf) >= 1) { char *tag; if (*buf) tag = strdup(buf); else tag = "a cmd"; char *p = alloc_block(n, tag); *next = p; sizes[next-allocs] = n; printf("%d bytes at %p (#%td)\n", n, p, next - allocs); next++; } else if (sscanf(line, "f %d", &n) == 1) { free_block(allocs[n], line); } else if (sscanf(line, "p %d %d\n", &blocks, &size) == 2) add_pool(blocks, size); else if (*line == 's') { char *blank = strchr(line, ' '); if (blank) show_pools(blank+1); else show_pools("pools:"); } else if (sscanf(line, "d %d", &n) == 1) { char *p = allocs[n]; printf("Dumping block at %p\n", p); dumpbytes("Leading guard zone:", p-8, 8); dumpbytes("Block contents:", p, sizes[n]); dumpbytes("Trailing guard zone:", p + sizes[n], 8); } else if (strcmp(line, "?") == 0) { printf("a(lloc) nbytes\n" "f(free) #\n" "p(ool) max_allocs block_size\n" "s(how)\n" "d(ump)\n" ); } free(line); } } #-h- 483 a11/d1/alloc1.c #include #include #include #include "/cs/www/classes/cs352/fall15/a11/alloc.h" int main() { add_pool(3, 32); // Note: 3 blocks of 32 bytes add_pool(100, 1000); add_pool(500, 256); char *p1 = alloc_block(1000, "A"); p1 = alloc_block(100, "B"); for (int i = 1; i <= 5; i++) { p1 = alloc_block(10, "C"); p1 = p1; // avoid a "p1 unused" warning } show_pools("After allocations:"); } #-h- 454 a11/d1/alloc2.c #include #include #include #include "/cs/www/classes/cs352/fall15/a11/alloc.h" int main() { char *p = alloc_block(3, "p"); check_blocks("After alloc_block:"); strcpy(p, "abc"); check_blocks("After strcpy:"); int *ip = (int*)p; ip[-1] = 0; check_blocks("After ip[-1] = 0:"); show_pools("Pools:"); puts("ready to free..."); free_block(p, "p"); } #-h- 501 a11/d1/alloc3.c #include #include #include #include "/cs/www/classes/cs352/fall15/a11/alloc.h" int main() { char *s1 = alloc_block(20, "s1"); printf("allocated: s1 = '%s'\n", s1); strcpy(s1, "testing"); printf("Before free: s1 = '%s'\n", s1); free_block(s1, "s1"); printf("After free: s1 = '%s'\n", s1); char **b = alloc_block(10 * sizeof(char*), "b"); *b = "testing"; free_block(b, "b"); printf("b = %lx\n", (unsigned long)*b); } #-h- 12052 a11/d1/lam ELF>@@@8 @%"@@@@@88@8@@@D D ((`(`(8 PP`P`TT@T@DDPtdD D @D @44QtdRtd((`(`/lib64/ld-linux-x86-64.so.2GNUGNU- 7P$HBLֶYPcR,1@ %8__gmon_start__libc.so.6exitfopenperrorputsprintfgetline__libc_start_mainfreeGLIBC_2.2.5ui W````` `(`0`8` HZH5 % @% h% h% h% h% h% h% h% hp1I^HHPTI @HP @H@HH HtHÐUHSH=0 uK@`H* H8`HHH9s$fDHH 8`H H9r H[]fff.H= UHtHt]H`]ÐUHH0H}HEHEHUHMHEHHHEH}uHEHUHHHEUHSH}HuHHHEH@HEHEHHEEHHHEHHEHH)HHEEHcHHUHHHPHHHDžxHxHkH)HHHHHEЋEHcHHUHHHPHHHDžxHxHkH)HHHHHEHEHEHEHEM< @HEHHHWHUHHEHHuHEHHE[HEHEHEHHuHEHEHEHE4HEHHEHHUHHEHEHHHHEЋUHcHHH;EwHE> @HEHE @/HܸH]ÐHl$Ld$H- L% Ll$Lt$L|$H\$H8L)AIHIHt1@LLDAHH9uH\$Hl$Ld$Ll$ Lt$(L|$0H8ÐUHSHH( Ht(`DHHHuH[]ÐHHr%s%s;0L`t zRx $FJ w?;*3$"D]AC X $d!JAC U0 $HQ_@X @ ( @o@@@ c `X@@@ o @oo @P`F@V@f@v@@@@@GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3,@@K @8=Bintaiiil1hxb##{##8# #(O#0+#8#@  #H!#P"#Xv$#`&#hs(b#p4,b#t.p#x2F#3T#4#.8#A{#J#K#L#M# N-#<Pb#R# ]  # # qb#  8x  8g\8j@@]f]HGXO-` h3b@K @`e.b~e~sepHeb\k@P&;= @@k@3Befp)lp*e2 ]8 8H]% : ; I$ > $ >   I : ; : ;I8 : ;  : ;  : ; I8 I !I/ .? : ; ' I@: ; I 4: ; I : ; I 4: ; I  : ;   U!I/  /usr/lib/gcc/x86_64-linux-gnu/4.6/include/usr/include/x86_64-linux-gnu/bits/usr/includelam.cstddef.htypes.hstdio.hlibio.h @uv!L1.g$UUɻzXX /:lXluX __off_t_IO_read_ptr_chain_shortbufdone_IO_buf_baselong long unsigned intbytes_allocdlong long intreadline_fileno_IO_read_endlam.c_flagsbytes_read__ssize_t_IO_buf_end_cur_column_old_offset_IO_marker/home/whm/352/a11thissep_IO_write_ptr_sbufshort unsigned intlines_IO_save_base_lock_flags2_modefnamefnames_IO_write_end_IO_lock_t_IO_FILE_pos_markersnfilesunsigned charshort int_vtable_offsetnextfileGNU C 4.6.3_next__off64_t_IO_read_base_IO_save_end__pad1__pad2__pad3__pad4__pad5_unused2argv_IO_backup_baseargcmain_IO_write_baseresultww\v\]w]^w^awavw.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_loc.debug_ranges8@8#T@T 1t@t$Do@N @V@c^o @ ko @  z@@@X@X @0@0@h( @( 8 @8 D @D 4x @x (`(8`8H`HP`P``X@`@P`P0P*z0 C'`30N>I0WX%P$5 ,l8@T@t@@@@ @ @ @@ X@ @ 0@ @( @8 @D @x @(`8`H`P```@`P` ! @(`*8`8H`E @[P`jX`x @0`@ @H` @$`P`$``  @, @`7IP`P( @Vj @]s@`@` H`8 @ P @`` @P` @J+ ?Tf @call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6531dtor_idx.6533frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxlam.c__init_array_end_DYNAMIC__init_array_start_GLOBAL_OFFSET_TABLE___libc_csu_finifree@@GLIBC_2.2.5data_startputs@@GLIBC_2.2.5_edata_finiprintf@@GLIBC_2.2.5readline__DTOR_END____libc_start_main@@GLIBC_2.2.5__data_start__gmon_start____dso_handle_IO_stdin_used__libc_csu_init_end_start__bss_startmainfopen@@GLIBC_2.2.5perror@@GLIBC_2.2.5_Jv_RegisterClassesgetline@@GLIBC_2.2.5exit@@GLIBC_2.2.5_init#-h- 18540 a11/d1/mar ELF>0 @@`2@8 @%"@@@@@88@8@@@,, ((`(` PP`P`TT@T@DDPtd@@TTQtdRtd((`(`/lib64/ld-linux-x86-64.so.2GNUGNU_zrmm'`O9dOow%4v I-j~]BV `__gmon_start__libc.so.6exitfopenstrrchrperror__assert_failstrstrfseekfclosestderrfwritefreadatoistrchrfprintfgetlinestrcmp__libc_start_mainfree__xstatGLIBC_2.2.5ui ` ` ` ` ` ` `( `0 `8 `@ ` H ` P ` X ` ` `h `p `x ` ` ` `H H5 % @% h% h% h% h% h% h% h% hp% h`% h P% h @% h 0% h % h % h% h%z h%r h%j h1I^HHPTIp@H@H@HHy HtHÐUHSH=  uK@`H H8`HHH9s$fDHH 8`H H9r H[]fff.H=P UHtHt]H`]ÐUHH H¸@HѺ!HUHSHH(H @H(HHIHEH}uH(H?eH HEHHHEHH0HHE}uHEHH\H%=t(HEH@H HHǸt"H`EHEH@UHEIȉѺ@HǸ;EHcHHUHHPHHHDžHHkH)HHHHHEغ @HEHHHHEEHcHEHMH4EE;Et@-"@(@`EHcHEHMȾHHEHHEH3@HHǸHHEHEHHPHEHH]UHH H}HuHEHE&HEHHEHHuHEHEHHuθUHSHH}HuЈEHEHHtEt  @HEHHHEH}uHEHHEHEHUHMHEHHHEuHuHEHEH¸HMHHHHHHHE@HuHUH9t*HU@@H HHǸ"HEHHEHEHEHE H&HHEȀ}rHHHEȾ/HHEH}tHEHEHEHEHHt>HUHEHHt$EHcHEHH#@HEHHHEЋEHcHHUHHPHHHDžxHxHkH)HHHHHEEHcHEHMHEE;Et}@|"@(@!EHcHEHMоHHEH`@HUHHǸH܃t8Gn@UHMHHǸEHcHEHHHEH0ZUHEH9H]UHH0}Hu} HEH@HEHEH@HEHEHEH¸HMHHHHHv HEttAxtcuUHEHPHEHHFHEHHHEHH(HEHHHEHH AÐHl$Ld$H-3 L%, Ll$Lt$L|$H\$H8L)AIHIHt1@LLDAHH9uH\$Hl$Ld$Ll$ Lt$(L|$0H8ÐHHUHSHH Ht(`DHHHuH[]ÐHHUsage: mar [ctx] FILE [FILES...] w%s: skipped %s%d %s #-h- rmar.crc == sizeAdded %s mar: corrupt header line: '%s' Extracted %s %s (%d bytes) extractcreate;P dl4a$TDlzRx $@FJ w?;*3$"D2AC $d'AC h SAC N $0-AC a 5AC  $Q_@Xp4h @ @o@@@ `@@0 o@oo@P`@@&@6@F@V@f@v@@@@@@@@@ @ @& @GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, @!| @@ 8dyfint8MtMc8:M8iiii^im-1)kb##### ]#(#0#8#@- #H!#P-"#X$#`&#h(b#p,b#tX.#x$2F#I3T#4#8*#\A#=J#K#DL#M#N-#BPb#R0# i  7# R# 0b# * 8 @ 8 xi &z# {i#  8 ;.f z0p# z5# =# @># k@{# A# Cb#$ Ep#( J#0 N#8 QP#@ r[@#H [\@#X 5]@#h jf#x iv 8   @F @=F @m @Ln~Xn~tI @ @[ @fpn @F @r~rcbX'b\r*HH+tP  8z 8@7m @ @7XC7nP} @ @9nhKQ @@ QXQnQ~VtI }@]^- hibXj"@@mxt@yPrc{b\w 08H2b@@lb\DnP`h% : ; I$ > $ >   I : ; : ;I8 : ;  : ;  : ; I8 I !I/ .? : ; @.? : ; ' @: ; I 4: ; I 4I4   4: ; I &I!I/ .? : ; ' I@ U4: ; I? <  /usr/lib/gcc/x86_64-linux-gnu/4.6/include/usr/include/x86_64-linux-gnu/bits/usr/includemar.cstddef.htypes.hstdio.hlibio.htime.hstat.h  @ K$uZg@!(*QiXirXY2uug5堻KuvuQ([' ig-g000st_rdev__unusedresultst_sizeusagetv_sec_IO_save_end__mode_tspecs__PRETTY_FUNCTION___IO_write_ptr_flagsst_atimst_dev_IO_buf_basefileshort int_markers_IO_read_endcontentsbytes_readarchivest_blksizeoptionstderr_IO_markerlong long intst_gid__blksize_t_lock__nlink_t_cur_column_posst_ctimcreateargv_vtable_offset_old_offsetunsigned charstatbufst_ino__pad4argctv_nseclong long unsigned intst_nlink_shortbuf__pad0basename__off64_t__pad2_IO_write_base_unused2fname_IO_read_ptrsize_start__pad5_IO_buf_end_IO_FILEmain_next__pad1__pad3_Boolst_blocksst_mtim__ino_tst_uidbuffershort unsigned intarchive_f_IO_write_endnewfile_f_fileno_chain__time_t__off_t__dev_tmatch_IO_backup_base_flags2_IO_read_baseextracttimespecmar.c__uid_tGNU C 4.6.3_IO_save_basestatst_modecurfile_f_sbuffiles__blkcnt_t_IO_lock_t__gid_t/home/whm/352/a11ww2v23w36w6XvXYwYZwZ]w]vwwwvwwwvw.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_loc.debug_ranges8@8#T@T 1t@t$Do@$N @V@^o@,ko@ z@0@ @@@0 @0 @@@T@L(`(8`8H`HP`P`` `  ` 0 * 0 !(N')30{+> /I001W; $7 D8@T@t@@@@@@ @ @ @ @ 0 @@@@@(`8`H`P``` ` ` ! \ @(`*8`8H`E @[ `j `x @0`(@H` @@}@$` P`$`&`< p@L @Se  `p" @ `@@`- `:N F @'Uj y `@ @ ` 0 @ ` m @S @  @2  1 @-9K`r @ `call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6531dtor_idx.6533frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxmar.c__PRETTY_FUNCTION__.3633__PRETTY_FUNCTION__.3662__init_array_end_DYNAMIC__init_array_start_GLOBAL_OFFSET_TABLE___libc_csu_fini__statfree@@GLIBC_2.2.5data_startfread@@GLIBC_2.2.5stat_edatafclose@@GLIBC_2.2.5_finistrchr@@GLIBC_2.2.5printf@@GLIBC_2.2.5strrchr@@GLIBC_2.2.5__assert_fail@@GLIBC_2.2.5__DTOR_END____libc_start_main@@GLIBC_2.2.5__data_startstrcmp@@GLIBC_2.2.5createfprintf@@GLIBC_2.2.5__gmon_start____dso_handle_IO_stdin_used__xstat@@GLIBC_2.2.5__libc_csu_init_end_startfseek@@GLIBC_2.2.5__bss_startmatchmainusagefopen@@GLIBC_2.2.5perror@@GLIBC_2.2.5_Jv_RegisterClassesextractatoi@@GLIBC_2.2.5getline@@GLIBC_2.2.5exit@@GLIBC_2.2.5fwrite@@GLIBC_2.2.5_initstrstr@@GLIBC_2.2.5stderr@@GLIBC_2.2.5#-h- 12303 a11/d1/mcycle ELF>@@P@8 @%"@@@@@88@8@@@< < ((`(`8ؤ PP`P`TT@T@DDPtdl l @l @,,QtdRtd((`(`/lib64/ld-linux-x86-64.so.2GNUGNUD^Z \yt6}  gUa$N@2d] GU,``__gmon_start__libc.so.6exitputsputcharstdin__assert_failprintfstrtokstrchrgetlinestrcmp__libc_start_mainGLIBC_2.2.5ui v``` ```` `(`0`8` @` H` HzH5 % @% h% h% h% h% h% h% h% hp% h`% h P1I^HHPTI @HP @HDŽ@HH HtHÐUHSH=h uK@`Hb H8`HHH9s$fDHH= 8`H/ H9r H[]fff.H= UHtHt]H`]ÐUHH`E}c~f @< @E @HEH HHMHEHHHEH}&HEHUHHHE=HHEH}HMEHcHHHHHHH`HHEHEEQ @HEHH HEi}1~f @'< @S @EHcȋEHcHHHHHHHHEHՈ`Q @HƿHEEH}uEHcHHHHHHH`@EHEHu mHEHEHE<HHEHEH;Et'HEHE^ @HUHHǸHEHEȾ>HHEHEHEHHEEEHcHHHHHHH`HEHEHHUHHwHEH@a @HZu0HE苀PHHE艈c @HǸuHE苀HUHcHTHHE艈^ @HHǸHE苐HEHcHDHu"HEǀEE;EE;Eu ?>HE<HMHEH}cHEH"HEHc HHMHEHHmHEH}tHEHUHHH}KHl$Ld$H- L% Ll$Lt$L|$H\$H8L)AIHICHt1@LLDAHH9uH\$Hl$Ld$Ll$ Lt$(L|$0H8ÐUHSHH( Ht(`DHHHuH[]ÐHHmcycle.cnvars < 100,nreps < 50%s#%dmain;(DltzRx $8FJ w?;*3$"DAC $dPQ_@X @ ( @o@@@ `@@0 o@ooz@P`@@&@6@F@V@f@v@@@GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3,@@E @8>*intCbpppMmF####U# #(p#0,#8#@= #H@!#P"#X$#`&#h(F#pQ,F#t.w#x2?#3b#"4#K8#A#J#K#"L#)M#0N-#YPF#7R# ~  # $# F#t M 8m M 8g]9  /  #  /#  F# ? 81PF@E @fFd@P-kv f @p H@@rep$%Fh# @0 @p66E @ @_@PDFl0vpF{X Mv 8f  8cf `% : ; I$ > $ >   I : ; : ;I8 : ;  : ;  : ; I8 I !I/  : ; .? : ; I@4: ; I 4I4   U4: ; I   U&I4: ; I? < 4: ; I?  > /usr/lib/gcc/x86_64-linux-gnu/4.6/include/usr/include/x86_64-linux-gnu/bits/usr/includemcycle.cstddef.htypes.hlibio.hstdio.h @zf#'uf0|'KmX<&ZKu$.*8v.J #eJu! __off_tcount_IO_read_ptr_chain_shortbuf_IO_buf_baselong long unsigned intbytes_allocdlong long int__PRETTY_FUNCTION___fileno_IO_read_end_flagsbytes_read__ssize_t_IO_buf_end_cur_column_old_offsetlinenvars_IO_markerstdinvarnm/home/whm/352/a11mcycle.c_IO_write_ptrname_sbufshort unsigned int_IO_save_base_lock_flags2_modevarendvariables_IO_write_end_IO_lock_t_IO_FILE_pos_markersunsigned charshort int_vtable_offsetnrepsGNU C 4.6.3varnum_next__off64_t_IO_read_base_IO_save_endvariable__pad1__pad2__pad3__pad4__pad5_unused2_IO_backup_basemain_IO_write_basewwv++,.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_loc.debug_ranges8@8#T@T 1t@t$Do@$N @8V@^oz@zko@ z@0@ @@@( @( 8 @8 3l @l , @ (`(8`8H`HP`P``hP`P``` 0`*0 o3'B30d>HLI`W%$6 @-8@T@t@@@@z@@ @ @ @ @ @( @8 @l @ @(`8`H`P```P``` ! @(`*8`8H`E @[h`jp`x `@0`8 @H` @f @$`P`$``& @6K P`Vh``{``( @@`P` 'X`48 @C P @S`X @_``k @p ` @call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6531dtor_idx.6533frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxmcycle.c__PRETTY_FUNCTION__.2799__init_array_end_DYNAMIC__init_array_start_GLOBAL_OFFSET_TABLE___libc_csu_finiputchar@@GLIBC_2.2.5data_startputs@@GLIBC_2.2.5stdin@@GLIBC_2.2.5_edata_finistrchr@@GLIBC_2.2.5printf@@GLIBC_2.2.5__assert_fail@@GLIBC_2.2.5__DTOR_END____libc_start_main@@GLIBC_2.2.5__data_startstrcmp@@GLIBC_2.2.5__gmon_start____dso_handle_IO_stdin_used__libc_csu_init_end_start__bss_startmainstrtok@@GLIBC_2.2.5_Jv_RegisterClassesvariablesgetline@@GLIBC_2.2.5exit@@GLIBC_2.2.5_init#-h- 148 a11/d1/mcycle.1 color=red,green,blue what=pencil,crayon The made a mark that the erased. Then the became a . #-h- 713 a11/d1/mcycle.2 dir=up,down,back,forth,round who=John,Rob,Mary,Jane noun=car,ball,book,poodle,glass,chair,cookie verb=ate,saw,painted,pickled many=once,always,thrice,never,twice the , but the went and and and . the . said that it not but . the . The went and and and . the . said that it not but . the . The went and and and . Nobody was suprised when the . said that it not but . Finally, the . The End. #-h- 59 a11/d1/mcycle.3 N=# what=a,b #-h- 448 a11/d1/mcycle.4 i=# , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , #-h- 430 a11/d1/mcycle.5 i=one,two,three , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , #-h- 71 a11/d1/mcycle.6 who=# what=# when=# N=# I am #-h- 172 a11/d1/mcycle.7 color=red,green,blue what=pencil,crayon The made a mark that the x=,, erased. Then the became a . #-h- 1708 a11/d1/tester.cfg 11 . /cs/www/classes/cs352/fall15/a11/tests /cs/www/classes/cs352/fall15/a11/master problem lam lam.c build make lam test lam case ulimit -t 1; ./lam ... a11/nums a11/lam.1 case ulimit -t 1; ./lam ". " <(seq 100) <(cal -h) case ulimit -t 1; ./lam - a11/nums a11/delivs <(seq 10) a11/lam.1 case ulimit -t 1; ./lam - a11/nums problem mcycle mcycle.c build make mcycle test mcycle case ulimit -t 1; ./mcycle < a11/mcycle.1 case ulimit -t 1; ./mcycle < a11/mcycle.2 case ulimit -t 1; ./mcycle < a11/mcycle.3 case ulimit -t 1; ./mcycle < a11/mcycle.4 case ulimit -t 1; ./mcycle < a11/mcycle.5 case ulimit -t 1; ./mcycle < a11/mcycle.6 problem mar mar.c build make mar test mar1 case ulimit -t 1; ./mar c m1.mar a11/nums2; cat m1.mar case ulimit -t 1; ./mar t m1.mar case ulimit -t 1; ./mar c m2.mar a11/nums2 a11/empty a11/nums a11/lets; cat m2.mar case ulimit -t 1; ./mar t m2.mar case ulimit -t 1; mkdir -p martest; rm -f martest/*; cd martest; ../mar x ../m2.mar; head -100 * problem alloc alloc.c build gcc -Werror -g -std=c1x -I/cs/www/classes/cs352/fall15/h -c alloc.c test allocs1 build make alloc-shell case ulimit -t 1; (echo p 3 32; echo a 25; echo d 0) | ./alloc-shell | a11/addrmap case ulimit -t 1; (echo a 1024; echo a 1025; echo s) | ./alloc-shell | a11/addrmap case ulimit -t 1; ./alloc-shell < a11/as.1 | a11/addrmap case ulimit -t 1; (echo "# test bad pool size"; echo "p 10 100") | ./alloc-shell | a11/addrmap test alloc1 build make alloc1 case ulimit -t 1; ./alloc1 | a11/addrmap test alloc2 build make alloc2 case ulimit -t 1; ./alloc2 | a11/addrmap test alloc3 build make alloc3 case ulimit -t 1; ./alloc3 | a11/addrmap #-h- 309 a11/d1/turnin #!/bin/bash PATH=/bin a=a11 turnin=/usr/local/bin/turnin if [ "$1" = -l -o "$1" == -ls ] then $turnin -ls 352-$a exit fi file=$a.$(date +%Y%m%d.%H%M%S).tz tar cvzf $file $(cat $a/delivs) echo ======== contents of $file ======== tar tvf $file echo ======== running turnin ======== $turnin 352-$a $file #-h- 2105 a11/d1/xtester.cfg 11 . /cs/www/classes/cs352/fall15/a11/tests /cs/www/classes/cs352/fall15/a11/master problem lam lam.c build make lam test lam case ulimit -t 1; ./lam ... a11/nums a11/lam.1 case ulimit -t 1; ./lam ". " <(seq 100) <(cal -h) case ulimit -t 1; ./lam - a11/nums a11/delivs <(seq 10) a11/lam.1 case ulimit -t 1; ./lam - a11/nums case ulimit -t 1; ./lam x <(seq 1 3 10000000000000) <(seq 1 5 10000000000000) <(seq 1 7 10000000000000) <(seq 1 9 10000000000000) <(seq 1 2 100) problem mcycle mcycle.c build make mcycle test mcycle case ulimit -t 1; ./mcycle < a11/mcycle.1 case ulimit -t 1; ./mcycle < a11/mcycle.2 case ulimit -t 1; ./mcycle < a11/mcycle.3 case ulimit -t 1; ./mcycle < a11/mcycle.4 case ulimit -t 1; ./mcycle < a11/mcycle.5 case ulimit -t 1; ./mcycle < a11/mcycle.6 case ulimit -t 1; ./mcycle < a11/mcycle.7 problem mar mar.c build make mar test mar1 case ulimit -t 1; ./mar c m1.mar a11/nums2; cat m1.mar case ulimit -t 1; ./mar t m1.mar case ulimit -t 1; ./mar c m2.mar a11/nums2 a11/empty a11/nums a11/lets; cat m2.mar case ulimit -t 1; ./mar t m2.mar case ulimit -t 1; mkdir -p martest; rm -f martest/*; cd martest; ../mar x ../m2.mar; head -100 * case ulimit -t 1; mar a ../c.mar case ulimit -t 1; mar x /c.mar case ulimit -t 1; mar c x.mar a11/nums /etc/psword a11/lets case ulimit -t 1; mar c x.mar . .. ... case ulimit -t 1; mar c x.mar a11/nums problem alloc alloc.c build gcc -Werror -g -std=c1x -I/cs/www/classes/cs352/fall15/h -c alloc.c test allocs1 build make alloc-shell case ulimit -t 1; (echo p 3 32; echo a 25; echo d 0) | ./alloc-shell | a11/addrmap case ulimit -t 1; (echo a 1024; echo a 1025; echo s) | ./alloc-shell | a11/addrmap case ulimit -t 1; ./alloc-shell < a11/as.1 | a11/addrmap case ulimit -t 1; (echo "# test bad pool size"; echo "p 10 100") | ./alloc-shell | a11/addrmap test alloc1 build make alloc1 case ulimit -t 1; ./alloc1 | a11/addrmap test alloc2 build make alloc2 case ulimit -t 1; ./alloc2 | a11/addrmap test alloc3 build make alloc3 case ulimit -t 1; ./alloc3 | a11/addrmap