On 07/31/2010 08:35 PM, Stephen Warren wrote:
On 07/31/2010 08:01 AM, Phil Dibowitz wrote:
Stephen,

You're 700 patch breaks config dumps - at least for the 880, but I would
guess for all remotes.

...
#8  0xb7e1917d in operator new[](unsigned int) () from /usr/lib/libstdc++.so.6
#9  0xb7fbdb52 in read_config_from_remote (out=0xbffffc00, size=0xbffffbfc,
      cb=0x804b3a0<cb_print_percent_status>, cb_arg=0x1) at libconcord.cpp:796
#10 0x0804b34f in dump_config (options=0xbffffc30,
      file_name=0xbffffe3e "/tmp/tout", cb=0x804b3a0<cb_print_percent_status>,
      cb_arg=0x0) at concordance.c:414
#11 0x0804bdfb in main (argc=Cannot access memory at address 0x317d
) at concordance.c:1295

The failing code in frame 8 is:

        *size = ri.config_bytes_used;
        *out = new uint8_t[*size];<<<<<

but *size == 0xfffe08f7, way too large. This is calculated in
CRemote::GetIdentity(). I suspect I botched the remote_info ArchList[]
table that's used in those calculations when I reformatted it. I'll
double-check all the values and fix this tonight...

Attached is a patch to fix this. I must have confused a couple different lines when reformatting the ArchList... It's a good thing this happened on a remote we have for testing!

I've now tested all available operations on 880, and everything except firmware update on 700.


libconcord/remote_info.h
  - Fix typos in ArchList caused during recent reformatting.

Signed-Off-By: Stephen Warren <swar...@wwwdotorg.org>
? concordance/.deps
? concordance/.libs
? concordance/Makefile
? concordance/Makefile.in
? concordance/aclocal.m4
? concordance/autom4te.cache
? concordance/concordance
? concordance/config.h
? concordance/config.h.in
? concordance/config.log
? concordance/config.status
? concordance/configure
? concordance/libtool
? concordance/ltmain.sh
? concordance/stamp-h1
? consnoop/consnoop
? libconcord/.deps
? libconcord/.libconcord.cpp.swp
? libconcord/.libs
? libconcord/.remote.cpp.swp
? libconcord/.remote_info.h.swp
? libconcord/Makefile
? libconcord/Makefile.in
? libconcord/aclocal.m4
? libconcord/autom4te.cache
? libconcord/binaryfile.lo
? libconcord/config.guess
? libconcord/config.h
? libconcord/config.h.in
? libconcord/config.log
? libconcord/config.status
? libconcord/config.sub
? libconcord/configure
? libconcord/depcomp
? libconcord/install-sh
? libconcord/libconcord.la
? libconcord/libconcord.lo
? libconcord/libtool
? libconcord/libusbhid.lo
? libconcord/ltmain.sh
? libconcord/missing
? libconcord/remote.lo
? libconcord/remote_z.lo
? libconcord/stamp-h1
? libconcord/usblan.lo
? libconcord/web.lo
? libconcord/bindings/perl/Makefile
? libconcord/bindings/perl/blib
? libconcord/bindings/perl/concord.bs
? libconcord/bindings/perl/concord.pm
? libconcord/bindings/perl/concord_wrap.c
? libconcord/bindings/perl/pm_to_blib
? libconcord/bindings/python/libconcord.pyc
Index: libconcord/remote_info.h
===================================================================
RCS file: /cvsroot/concordance/concordance/libconcord/remote_info.h,v
retrieving revision 1.11
diff -u -p -r1.11 remote_info.h
--- libconcord/remote_info.h    27 Jul 2010 19:33:53 -0000      1.11
+++ libconcord/remote_info.h    1 Aug 2010 03:35:25 -0000
@@ -299,10 +299,10 @@ static const TArchInfo ArchList[]={
                0x010000,                       // firmware_base
                0x020000,                       // config_base
                0x1D0000,                       // firmware_update_base
-               2,                              // firmware_4847_offset
+               4,                              // firmware_4847_offset
                0x50545054,                     // cookie
                4,                              // cookie_size
-               5,                              // end_vector
+               4,                              // end_vector
                "PIC18LC801",                   // micro
                0,                              // flash_size
                1536,                           // ram_size
@@ -317,12 +317,12 @@ static const TArchInfo ArchList[]={
                0x810000,                       // firmware_base
                0x820000,                       // config_base
                0x810000,                       // firmware_update_base
-               2,                              // firmware_4847_offset
+               4,                              // firmware_4847_offset
                0x4D434841,                     // cookie
                4,                              // cookie_size
                4,                              // end_vector
                "PIC18LF4550",                  // micro
-               0,                              // flash_size
+               16,                             // flash_size
                2048,                           // ram_size
                256,                            // eeprom_size
                "Internal",                     // usb
------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
concordance-devel mailing list
concordance-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/concordance-devel

Reply via email to