Changeset 865


Ignore:
Timestamp:
12/24/09 22:05:24 (3 years ago)
Author:
reyalp
Message:
  • add strtoul on all cameras. Only tested on a540 but perfect matches on all.
  • fix lua handling of hex constants that would set sign bit. Now (as in standard lua) treated as an unsigned value, rather than resulting in LONG_MAX. Note that arithmetic and comparisons on such values in lua will still treat them as signed!
  • use strtoul in luaB_tonumber(), as in stock lua.
Location:
trunk
Files:
97 edited

Legend:

Unmodified
Added
Removed
  • trunk/CHDK/SCRIPTS/TEST/tstcallf.lua

    r864 r865  
    8686 example of writing machine code and executing it 
    8787 Note may crash without proper cache control 
    88  must use signed values because lua currently doesn't 
    89  handle hex constants that would be negative 
    9088--]] 
    9189test_func_1_ops={ 
    92    -476053381, --0xe3a0007b mov r0, #123        ; 0x7b 
    93    -516948194, --0xe12fff1e bx  lr 
     90   0xe3a0007b, -- mov   r0, #123        ; 0x7b 
     91   0xe12fff1e, -- bx    lr 
    9492} 
    9593 
  • trunk/core/luascript.c

    r864 r865  
    12011201ptr: address of a valid ARM or Thumb function, which uses the normal C calling convention. 
    12021202result: R0 value after the call returns 
    1203 NOTE: 
    1204 lua does not correctly handle hex constants which would represent a negative number. 
    1205 You must use the signed decimal value instead. 
    12061203*/ 
    12071204static int luaCB_call_func_ptr( lua_State* L) 
  • trunk/include/lolevel.h

    r864 r865  
    111111 
    112112extern long _strtol(const char *nptr, char **endptr, int base); 
     113extern unsigned long _strtoul(const char *nptr, char **endptr, int base); 
     114// DRYOS: this function is called by strtol (mode=1) and strtoul (mode=0) 
     115// easier to match with sig finder 
     116extern long _strtolx(const char *nptr, char **endptr, int base, int mode);  
    113117 
    114118extern int _tolower(int c); 
  • trunk/include/stdlib.h

    r654 r865  
    101101 
    102102extern long strtol(const char *nptr, char **endptr, int base); 
     103extern unsigned long strtoul(const char *nptr, char **endptr, int base); 
    103104#define atoi(n) strtol((n),NULL,0) 
    104105 
  • trunk/lib/lua/lbaselib.c

    r654 r865  
    9797    unsigned long n; 
    9898    luaL_argcheck(L, 2 <= base && base <= 36, 2, "base out of range"); 
    99     n = strtol(s1, &s2, base); 
     99    n = strtoul(s1, &s2, base); 
    100100    if (s1 != s2) {  /* at least one valid digit? */ 
    101101      while (isspace((unsigned char)(*s2))) s2++;  /* skip trailing spaces */ 
  • trunk/lib/lua/lobject.c

    r515 r865  
    9393  if (endptr == s) return 0;  /* conversion failed */ 
    9494  if (*endptr == 'x' || *endptr == 'X')  /* maybe an hexadecimal constant? */ 
    95 // reyalp - use strtol 
    96     *result = cast_num(strtol(s, &endptr, 16)); 
     95    *result = cast_num(strtoul(s, &endptr, 16)); 
    9796  if (*endptr == '\0') return 1;  /* most common case */ 
    9897  while (isspace(cast(unsigned char, *endptr))) endptr++; 
  • trunk/platform/a2000/sub/100c/stubs_entry.S

    r842 r865  
    159159NSTUB(strrchr, 0xffc6c960) 
    160160NSTUB(strtol, 0xffc1cd8c) 
     161NSTUB(strtolx, 0xffc1cb90) 
    161162NSTUB(time, 0xffc5327c) 
    162163NSTUB(vsprintf, 0xffc0d7f8) 
  • trunk/platform/a450/sub/100d/stubs_entry.S

    r826 r865  
    180180// ALT: NSTUB(strrchr, 0xffcc4e9c) // 8/0 
    181181NSTUB(strtol, 0xffcc45f0) 
     182NSTUB(strtoul, 0xffcc4798) 
    182183NSTUB(taskCreateHookAdd, 0xffccf3bc) 
    183184NSTUB(taskDeleteHookAdd, 0xffccf2f8) 
  • trunk/platform/a460/sub/100d/stubs_entry.S

    r826 r865  
    180180// ALT: NSTUB(strrchr, 0xffcc4e94) // 8/0 
    181181NSTUB(strtol, 0xffcc45e8) 
     182NSTUB(strtoul, 0xffcc4790) 
    182183NSTUB(taskCreateHookAdd, 0xffccf3b4) 
    183184NSTUB(taskDeleteHookAdd, 0xffccf2f0) 
  • trunk/platform/a470/sub/100e/stubs_entry.S

    r842 r865  
    149149NSTUB(strrchr, 0xffc6e530) 
    150150NSTUB(strtol, 0xffc1da54) 
     151NSTUB(strtolx, 0xffc1d858) 
    151152NSTUB(time, 0xffc50edc) 
    152153NSTUB(vsprintf, 0xffc0d80c) 
  • trunk/platform/a470/sub/101b/stubs_entry.S

    r842 r865  
    149149NSTUB(strrchr, 0xffc6e530) 
    150150NSTUB(strtol, 0xffc1da54) 
     151NSTUB(strtolx, 0xffc1d858) 
    151152NSTUB(time, 0xffc50edc) 
    152153NSTUB(vsprintf, 0xffc0d80c) 
  • trunk/platform/a470/sub/102c/stubs_entry.S

    r842 r865  
    149149NSTUB(strrchr, 0xffc6ea4c) 
    150150NSTUB(strtol, 0xffc1da54) 
     151NSTUB(strtolx, 0xffc1d858) 
    151152NSTUB(time, 0xffc513f8) 
    152153NSTUB(vsprintf, 0xffc0d80c) 
  • trunk/platform/a530/sub/100a/stubs_entry.S

    r826 r865  
    169169// ALT: NSTUB(strrchr, 0xffec3a94) // 8/0 
    170170NSTUB(strtol, 0xffec31e8) 
     171NSTUB(strtoul, 0xffec3390) 
    171172NSTUB(taskCreateHookAdd, 0xffece190) 
    172173NSTUB(taskDeleteHookAdd, 0xffece0cc) 
  • trunk/platform/a540/sub/100b/stubs_entry.S

    r826 r865  
    174174// ALT: NSTUB(strrchr, 0xffed94c8) // 8/0 
    175175NSTUB(strtol, 0xffed8c1c) 
     176NSTUB(strtoul, 0xffed8dc4) 
    176177NSTUB(taskCreateHookAdd, 0xffee3bc4) 
    177178NSTUB(taskDeleteHookAdd, 0xffee3b00) 
  • trunk/platform/a550/sub/100c/stubs_entry.S

    r826 r865  
    179179// ALT: NSTUB(strrchr, 0xffcc0888) // 8/0 
    180180NSTUB(strtol, 0xffcbffdc) 
     181NSTUB(strtoul, 0xffcc0184) 
    181182NSTUB(taskCreateHookAdd, 0xffccada8) 
    182183NSTUB(taskDeleteHookAdd, 0xffccace4) 
  • trunk/platform/a560/sub/100a/stubs_entry.S

    r826 r865  
    181181// ALT: NSTUB(strrchr, 0xffcc9e38) // 8/0 
    182182NSTUB(strtol, 0xffcc958c) 
     183NSTUB(strtoul, 0xffcc9734) 
    183184NSTUB(taskCreateHookAdd, 0xffcd4358) 
    184185NSTUB(taskDeleteHookAdd, 0xffcd4294) 
  • trunk/platform/a570/sub/100e/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xffcd22b8) // 8/0 
    183183NSTUB(strtol, 0xffcd1a0c) 
     184NSTUB(strtoul, 0xffcd1bb4) 
    184185NSTUB(taskCreateHookAdd, 0xffcdc7d8) 
    185186NSTUB(taskDeleteHookAdd, 0xffcdc714) 
  • trunk/platform/a570/sub/101a/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xffcd22b8) // 8/0 
    183183NSTUB(strtol, 0xffcd1a0c) 
     184NSTUB(strtoul, 0xffcd1bb4) 
    184185NSTUB(taskCreateHookAdd, 0xffcdc7d8) 
    185186NSTUB(taskDeleteHookAdd, 0xffcdc714) 
  • trunk/platform/a590/sub/100e/stubs_entry.S

    r842 r865  
    154154NSTUB(strrchr, 0xffc74e20) 
    155155NSTUB(strtol, 0xffc1df00) 
     156NSTUB(strtolx, 0xffc1dd04) 
    156157NSTUB(time, 0xffc57a88) 
    157158NSTUB(vsprintf, 0xffc0d80c) 
  • trunk/platform/a590/sub/101b/stubs_entry.S

    r842 r865  
    154154NSTUB(strrchr, 0xffc74e20) 
    155155NSTUB(strtol, 0xffc1df00) 
     156NSTUB(strtolx, 0xffc1dd04) 
    156157NSTUB(time, 0xffc57a88) 
    157158NSTUB(vsprintf, 0xffc0d80c) 
  • trunk/platform/a610/sub/100e/stubs_entry.S

    r826 r865  
    142142// ALT: NSTUB(strrchr, 0xffeb5f18) // 8/0 
    143143NSTUB(strtol, 0xffeb566c) 
     144NSTUB(strtoul, 0xffeb5814) 
    144145NSTUB(taskCreateHookAdd, 0xffec251c) 
    145146NSTUB(taskDeleteHookAdd, 0xffec2458) 
  • trunk/platform/a610/sub/100f/stubs_entry.S

    r826 r865  
    142142// ALT: NSTUB(strrchr, 0xffeb62a0) // 8/0 
    143143NSTUB(strtol, 0xffeb59f4) 
     144NSTUB(strtoul, 0xffeb5b9c) 
    144145NSTUB(taskCreateHookAdd, 0xffec28a4) 
    145146NSTUB(taskDeleteHookAdd, 0xffec27e0) 
  • trunk/platform/a620/sub/100f/stubs_entry.S

    r826 r865  
    170170// ALT: NSTUB(strrchr, 0xffebcc3c) // 8/0 
    171171NSTUB(strtol, 0xffebc390) 
     172NSTUB(strtoul, 0xffebc538) 
    172173NSTUB(taskCreateHookAdd, 0xffec9240) 
    173174NSTUB(taskDeleteHookAdd, 0xffec917c) 
  • trunk/platform/a630/sub/100c/stubs_entry.S

    r826 r865  
    162162// ALT: NSTUB(strrchr, 0xffeeb7dc) // 8/0 
    163163NSTUB(strtol, 0xffeeaf30) 
     164NSTUB(strtoul, 0xffeeb0d8) 
    164165NSTUB(taskCreateHookAdd, 0xffef5ed8) 
    165166NSTUB(taskDeleteHookAdd, 0xffef5e14) 
  • trunk/platform/a640/sub/100b/stubs_entry.S

    r826 r865  
    163163// ALT: NSTUB(strrchr, 0xffef5704) // 8/0 
    164164NSTUB(strtol, 0xffef4e58) 
     165NSTUB(strtoul, 0xffef5000) 
    165166NSTUB(taskCreateHookAdd, 0xffeffe00) 
    166167NSTUB(taskDeleteHookAdd, 0xffeffd3c) 
  • trunk/platform/a650/sub/100d/stubs_entry.S

    r842 r865  
    130130NSTUB(strrchr, 0xffc73a74) 
    131131NSTUB(strtol, 0xffc1fe0c) 
     132NSTUB(strtolx, 0xffc1fc10) 
    132133NSTUB(time, 0xffc571ac) 
    133134NSTUB(vsprintf, 0xffc0e6e4) 
  • trunk/platform/a700/sub/100b/stubs_entry.S

    r826 r865  
    174174// ALT: NSTUB(strrchr, 0xffee0a20) // 8/0 
    175175NSTUB(strtol, 0xffee0174) 
     176NSTUB(strtoul, 0xffee031c) 
    176177NSTUB(taskCreateHookAdd, 0xffeeb11c) 
    177178NSTUB(taskDeleteHookAdd, 0xffeeb058) 
  • trunk/platform/a710/sub/100a/stubs_entry.S

    r826 r865  
    145145// ALT: NSTUB(strrchr, 0xffef9024) // 8/0 
    146146NSTUB(strtol, 0xffef8778) 
     147NSTUB(strtoul, 0xffef8920) 
    147148NSTUB(taskCreateHookAdd, 0xfff03720) 
    148149NSTUB(taskDeleteHookAdd, 0xfff0365c) 
  • trunk/platform/a720/sub/100c/stubs_entry.S

    r842 r865  
    116116NSTUB(strrchr, 0xffc71bcc) 
    117117NSTUB(strtol, 0xffc1fc0c) 
     118NSTUB(strtolx, 0xffc1fa10) 
    118119NSTUB(time, 0xffc55f0c) 
    119120NSTUB(vsprintf, 0xffc0e7b4) 
  • trunk/platform/g7/sub/100e/stubs_entry.S

    r826 r865  
    171171// ALT: NSTUB(strrchr, 0xffb96fc4) // 8/0 
    172172NSTUB(strtol, 0xffb96718) 
     173NSTUB(strtoul, 0xffb968c0) 
    173174NSTUB(taskCreateHookAdd, 0xffba16c0) 
    174175NSTUB(taskDeleteHookAdd, 0xffba15fc) 
  • trunk/platform/g7/sub/100g/stubs_entry.S

    r826 r865  
    171171// ALT: NSTUB(strrchr, 0xffb9714c) // 8/0 
    172172NSTUB(strtol, 0xffb968a0) 
     173NSTUB(strtoul, 0xffb96a48) 
    173174NSTUB(taskCreateHookAdd, 0xffba1848) 
    174175NSTUB(taskDeleteHookAdd, 0xffba1784) 
  • trunk/platform/g7/sub/100i/stubs_entry.S

    r826 r865  
    171171// ALT: NSTUB(strrchr, 0xffb9719c) // 8/0 
    172172NSTUB(strtol, 0xffb968f0) 
     173NSTUB(strtoul, 0xffb96a98) 
    173174NSTUB(taskCreateHookAdd, 0xffba1898) 
    174175NSTUB(taskDeleteHookAdd, 0xffba17d4) 
  • trunk/platform/g7/sub/100j/stubs_entry.S

    r826 r865  
    171171// ALT: NSTUB(strrchr, 0xffb97224) // 8/0 
    172172NSTUB(strtol, 0xffb96978) 
     173NSTUB(strtoul, 0xffb96b20) 
    173174NSTUB(taskCreateHookAdd, 0xffba1920) 
    174175NSTUB(taskDeleteHookAdd, 0xffba185c) 
  • trunk/platform/g9/sub/100d/stubs_entry.S

    r842 r865  
    135135NSTUB(strrchr, 0xff895cc8) 
    136136NSTUB(strtol, 0xff830d90) 
     137NSTUB(strtolx, 0xff830b94) 
    137138NSTUB(time, 0xff86ba3c) 
    138139NSTUB(vsprintf, 0xff81e6f8) 
  • trunk/platform/g9/sub/100g/stubs_entry.S

    r842 r865  
    135135NSTUB(strrchr, 0xff895cc8) 
    136136NSTUB(strtol, 0xff830d90) 
     137NSTUB(strtolx, 0xff830b94) 
    137138NSTUB(time, 0xff86ba3c) 
    138139NSTUB(vsprintf, 0xff81e6f8) 
  • trunk/platform/g9/sub/100i/stubs_entry.S

    r842 r865  
    135135NSTUB(strrchr, 0xff895cc8) 
    136136NSTUB(strtol, 0xff830d90) 
     137NSTUB(strtolx, 0xff830b94) 
    137138NSTUB(time, 0xff86ba3c) 
    138139NSTUB(vsprintf, 0xff81e6f8) 
  • trunk/platform/generic/wrappers.c

    r864 r865  
    339339} 
    340340 
     341unsigned long strtoul(const char *nptr, char **endptr, int base) { 
     342#if CAM_DRYOS 
     343    return (unsigned long)_strtolx(nptr, endptr, base, 0); 
     344#else 
     345    return _strtoul(nptr, endptr, base); 
     346#endif 
     347} 
     348 
    341349char *strpbrk(const char *s, const char *accept) { 
    342350#if !CAM_DRYOS 
  • trunk/platform/ixus40_sd300/sub/100j/stubs_entry.S

    r826 r865  
    266266NSTUB(strtol, 0xffabbf30) 
    267267// ALT: NSTUB(strtol, 0xfff4ffe0) // 26/0 
     268NSTUB(strtoul, 0xffabc0d8) 
     269// ALT: NSTUB(strtoul, 0xfff50188) // 26/0 
    268270NSTUB(taskCreateHookAdd, 0xffac8a18) 
    269271// ALT: NSTUB(taskCreateHookAdd, 0xfff5df1c) // 29/0 
  • trunk/platform/ixus40_sd300/sub/100k/stubs_entry.S

    r826 r865  
    177177// ALT: NSTUB(strrchr, 0xffabc804) // 8/0 
    178178NSTUB(strtol, 0xffabbf58) 
     179NSTUB(strtoul, 0xffabc100) 
    179180NSTUB(taskCreateHookAdd, 0xffac8a40) 
    180181NSTUB(taskDeleteHookAdd, 0xffac897c) 
  • trunk/platform/ixus50_sd400/sub/101a/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xffab5c5c) // 8/0 
    183183NSTUB(strtol, 0xffab53b0) 
     184NSTUB(strtoul, 0xffab5558) 
    184185NSTUB(taskCreateHookAdd, 0xffac2260) 
    185186NSTUB(taskDeleteHookAdd, 0xffac219c) 
  • trunk/platform/ixus50_sd400/sub/101b/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xffab5cb0) // 8/0 
    183183NSTUB(strtol, 0xffab5404) 
     184NSTUB(strtoul, 0xffab55ac) 
    184185NSTUB(taskCreateHookAdd, 0xffac22b4) 
    185186NSTUB(taskDeleteHookAdd, 0xffac21f0) 
  • trunk/platform/ixus55_sd450/sub/100b/stubs_entry.S

    r826 r865  
    176176// ALT: NSTUB(strrchr, 0xffacdbe8) // 8/0 
    177177NSTUB(strtol, 0xffacd33c) 
     178NSTUB(strtoul, 0xffacd4e4) 
    178179NSTUB(taskCreateHookAdd, 0xffada1ec) 
    179180NSTUB(taskDeleteHookAdd, 0xffada128) 
  • trunk/platform/ixus55_sd450/sub/100c/stubs_entry.S

    r826 r865  
    176176// ALT: NSTUB(strrchr, 0xffacdb14) // 8/0 
    177177NSTUB(strtol, 0xffacd268) 
     178NSTUB(strtoul, 0xffacd410) 
    178179NSTUB(taskCreateHookAdd, 0xffada118) 
    179180NSTUB(taskDeleteHookAdd, 0xffada054) 
  • trunk/platform/ixus55_sd450/sub/100d/stubs_entry.S

    r826 r865  
    176176// ALT: NSTUB(strrchr, 0xffacde9c) // 8/0 
    177177NSTUB(strtol, 0xffacd5f0) 
     178NSTUB(strtoul, 0xffacd798) 
    178179NSTUB(taskCreateHookAdd, 0xffada4a0) 
    179180NSTUB(taskDeleteHookAdd, 0xffada3dc) 
  • trunk/platform/ixus60_sd600/sub/100a/stubs_entry.S

    r826 r865  
    170170// ALT: NSTUB(strrchr, 0xffb03db0) // 8/0 
    171171NSTUB(strtol, 0xffb03504) 
     172NSTUB(strtoul, 0xffb036ac) 
    172173NSTUB(taskCreateHookAdd, 0xffb0eecc) 
    173174NSTUB(taskDeleteHookAdd, 0xffb0ee08) 
  • trunk/platform/ixus60_sd600/sub/100d/stubs_entry.S

    r826 r865  
    170170// ALT: NSTUB(strrchr, 0xffb04990) // 8/0 
    171171NSTUB(strtol, 0xffb040e4) 
     172NSTUB(strtoul, 0xffb0428c) 
    172173NSTUB(taskCreateHookAdd, 0xffb0faac) 
    173174NSTUB(taskDeleteHookAdd, 0xffb0f9e8) 
  • trunk/platform/ixus65_sd630/sub/100a/stubs_entry.S

    r826 r865  
    170170// ALT: NSTUB(strrchr, 0xffb0da74) // 8/0 
    171171NSTUB(strtol, 0xffb0d1c8) 
     172NSTUB(strtoul, 0xffb0d370) 
    172173NSTUB(taskCreateHookAdd, 0xffb18b90) 
    173174NSTUB(taskDeleteHookAdd, 0xffb18acc) 
  • trunk/platform/ixus700_sd500/sub/101a/stubs_entry.S

    r826 r865  
    181181// ALT: NSTUB(strrchr, 0xffab3c98) // 8/0 
    182182NSTUB(strtol, 0xffab33ec) 
     183NSTUB(strtoul, 0xffab3594) 
    183184NSTUB(taskCreateHookAdd, 0xffac029c) 
    184185NSTUB(taskDeleteHookAdd, 0xffac01d8) 
  • trunk/platform/ixus700_sd500/sub/101b/stubs_entry.S

    r826 r865  
    181181// ALT: NSTUB(strrchr, 0xffab3ce8) // 8/0 
    182182NSTUB(strtol, 0xffab343c) 
     183NSTUB(strtoul, 0xffab35e4) 
    183184NSTUB(taskCreateHookAdd, 0xffac02ec) 
    184185NSTUB(taskDeleteHookAdd, 0xffac0228) 
  • trunk/platform/ixus70_sd1000/sub/100c/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xff918900) // 8/0 
    183183NSTUB(strtol, 0xff918054) 
     184NSTUB(strtoul, 0xff9181fc) 
    184185NSTUB(taskCreateHookAdd, 0xff922e20) 
    185186NSTUB(taskDeleteHookAdd, 0xff922d5c) 
  • trunk/platform/ixus70_sd1000/sub/101b/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xff918900) // 8/0 
    183183NSTUB(strtol, 0xff918054) 
     184NSTUB(strtoul, 0xff9181fc) 
    184185NSTUB(taskCreateHookAdd, 0xff922e20) 
    185186NSTUB(taskDeleteHookAdd, 0xff922d5c) 
  • trunk/platform/ixus70_sd1000/sub/102a/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xff918900) // 8/0 
    183183NSTUB(strtol, 0xff918054) 
     184NSTUB(strtoul, 0xff9181fc) 
    184185NSTUB(taskCreateHookAdd, 0xff922e20) 
    185186NSTUB(taskDeleteHookAdd, 0xff922d5c) 
  • trunk/platform/ixus750_sd550/sub/100f/stubs_entry.S

    r826 r865  
    176176// ALT: NSTUB(strrchr, 0xffacd6f0) // 8/0 
    177177NSTUB(strtol, 0xffacce44) 
     178NSTUB(strtoul, 0xffaccfec) 
    178179NSTUB(taskCreateHookAdd, 0xffad9cf4) 
    179180NSTUB(taskDeleteHookAdd, 0xffad9c30) 
  • trunk/platform/ixus750_sd550/sub/100g/stubs_entry.S

    r826 r865  
    176176// ALT: NSTUB(strrchr, 0xffacd6f0) // 8/0 
    177177NSTUB(strtol, 0xffacce44) 
     178NSTUB(strtoul, 0xffaccfec) 
    178179NSTUB(taskCreateHookAdd, 0xffad9cf4) 
    179180NSTUB(taskDeleteHookAdd, 0xffad9c30) 
  • trunk/platform/ixus75_sd750/sub/100b/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xff922ce4) // 8/0 
    183183NSTUB(strtol, 0xff922438) 
     184NSTUB(strtoul, 0xff9225e0) 
    184185NSTUB(taskCreateHookAdd, 0xff92d204) 
    185186NSTUB(taskDeleteHookAdd, 0xff92d140) 
  • trunk/platform/ixus75_sd750/sub/101a/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xff922ce4) // 8/0 
    183183NSTUB(strtol, 0xff922438) 
     184NSTUB(strtoul, 0xff9225e0) 
    184185NSTUB(taskCreateHookAdd, 0xff92d204) 
    185186NSTUB(taskDeleteHookAdd, 0xff92d140) 
  • trunk/platform/ixus75_sd750/sub/102a/stubs_entry.S

    r826 r865  
    182182// ALT: NSTUB(strrchr, 0xff922ce4) // 8/0 
    183183NSTUB(strtol, 0xff922438) 
     184NSTUB(strtoul, 0xff9225e0) 
    184185NSTUB(taskCreateHookAdd, 0xff92d204) 
    185186NSTUB(taskDeleteHookAdd, 0xff92d140) 
  • trunk/platform/ixus800_sd700/sub/100b/stubs_entry.S

    r826 r865  
    171171// ALT: NSTUB(strrchr, 0xffb0753c) // 8/0 
    172172NSTUB(strtol, 0xffb06c90) 
     173NSTUB(strtoul, 0xffb06e38) 
    173174NSTUB(taskCreateHookAdd, 0xffb12658) 
    174175NSTUB(taskDeleteHookAdd, 0xffb12594) 
  • trunk/platform/ixus800_sd700/sub/101b/stubs_entry.S

    r826 r865  
    171171// ALT: NSTUB(strrchr, 0xffb07534) // 8/0 
    172172NSTUB(strtol, 0xffb06c88) 
     173NSTUB(strtoul, 0xffb06e30) 
    173174NSTUB(taskCreateHookAdd, 0xffb12650) 
    174175NSTUB(taskDeleteHookAdd, 0xffb1258c) 
  • trunk/platform/ixus80_sd1100/sub/100c/stubs_entry.S

    r842 r865  
    143143NSTUB(strrchr, 0xff8920cc) 
    144144NSTUB(strtol, 0xff82e3cc) 
     145NSTUB(strtolx, 0xff82e1d0) 
    145146NSTUB(time, 0xff866d48) 
    146147NSTUB(vsprintf, 0xff81d80c) 
  • trunk/platform/ixus80_sd1100/sub/101a/stubs_entry.S

    r842 r865  
    143143NSTUB(strrchr, 0xff8920cc) 
    144144NSTUB(strtol, 0xff82e3cc) 
     145NSTUB(strtolx, 0xff82e1d0) 
    145146NSTUB(time, 0xff866d48) 
    146147NSTUB(vsprintf, 0xff81d80c) 
  • trunk/platform/ixus850_sd800/sub/100e/stubs_entry.S

    r826 r865  
    171171// ALT: NSTUB(strrchr, 0xffb59d18) // 8/0 
    172172NSTUB(strtol, 0xffb5946c) 
     173NSTUB(strtoul, 0xffb59614) 
    173174NSTUB(taskCreateHookAdd, 0xffb64414) 
    174175NSTUB(taskDeleteHookAdd, 0xffb64350) 
  • trunk/platform/ixus860_sd870/sub/100c/stubs_entry.S

    r842 r865  
    130130NSTUB(strrchr, 0xff88fad8) 
    131131NSTUB(strtol, 0xff82ff78) 
     132NSTUB(strtolx, 0xff82fd7c) 
    132133NSTUB(time, 0xff865744) 
    133134NSTUB(vsprintf, 0xff81e7b8) 
  • trunk/platform/ixus870_sd880/sub/100e/stubs_entry.S

    r842 r865  
    160160NSTUB(strrchr, 0xff89278c) 
    161161NSTUB(strtol, 0xff82d8b0) 
     162NSTUB(strtolx, 0xff82d6b4) 
    162163// Best match: 83% 
    163164NSTUB(time, 0xff86b83c) 
  • trunk/platform/ixus870_sd880/sub/101a/stubs_entry.S

    r842 r865  
    160160NSTUB(strrchr, 0xff89278c) 
    161161NSTUB(strtol, 0xff82d8b0) 
     162NSTUB(strtolx, 0xff82d6b4) 
    162163// Best match: 83% 
    163164NSTUB(time, 0xff86b83c) 
  • trunk/platform/ixus870_sd880/sub/102b/stubs_entry.S

    r842 r865  
    160160NSTUB(strrchr, 0xff89278c) 
    161161NSTUB(strtol, 0xff82d8b0) 
     162NSTUB(strtolx, 0xff82d6b4) 
    162163// Best match: 83% 
    163164NSTUB(time, 0xff86b83c) 
  • trunk/platform/ixus950_sd850/sub/100c/stubs_entry.S

    r826 r865  
    183183// ALT: NSTUB(strrchr, 0xff924140) // 8/0 
    184184NSTUB(strtol, 0xff923894) 
     185NSTUB(strtoul, 0xff923a3c) 
    185186NSTUB(taskCreateHookAdd, 0xff92e660) 
    186187NSTUB(taskDeleteHookAdd, 0xff92e59c) 
  • trunk/platform/ixus960_sd950/sub/100d/stubs_entry.S

    r842 r865  
    129129NSTUB(strrchr, 0xff88fdc4) 
    130130NSTUB(strtol, 0xff82ff20) 
     131NSTUB(strtolx, 0xff82fd24) 
    131132NSTUB(time, 0xff865ac8) 
    132133NSTUB(vsprintf, 0xff81e6f0) 
  • trunk/platform/ixus970_sd890/sub/100b/stubs_entry.S

    r842 r865  
    146146NSTUB(strrchr, 0xff89423c) 
    147147NSTUB(strtol, 0xff82e438) 
     148NSTUB(strtolx, 0xff82e23c) 
    148149NSTUB(time, 0xff866fd0) 
    149150NSTUB(vsprintf, 0xff81d744) 
  • trunk/platform/ixus970_sd890/sub/100c/stubs_entry.S

    r842 r865  
    146146NSTUB(strrchr, 0xff89423c) 
    147147NSTUB(strtol, 0xff82e438) 
     148NSTUB(strtolx, 0xff82e23c) 
    148149NSTUB(time, 0xff866fd0) 
    149150NSTUB(vsprintf, 0xff81d744) 
  • trunk/platform/ixus970_sd890/sub/100f/stubs_entry.S

    r842 r865  
    146146NSTUB(strrchr, 0xff8941c0) 
    147147NSTUB(strtol, 0xff82e434) 
     148NSTUB(strtolx, 0xff82e238) 
    148149NSTUB(time, 0xff866f54) 
    149150NSTUB(vsprintf, 0xff81d744) 
  • trunk/platform/ixus980_sd990/sub/100e/stubs_entry.S

    r842 r865  
    160160NSTUB(strrchr, 0xff89763c) 
    161161NSTUB(strtol, 0xff82dc88) 
     162NSTUB(strtolx, 0xff82da8c) 
    162163// Best match: 83% 
    163164NSTUB(time, 0xff8703ec) 
  • trunk/platform/ixus980_sd990/sub/101b/stubs_entry.S

    r842 r865  
    160160NSTUB(strrchr, 0xff89763c) 
    161161NSTUB(strtol, 0xff82dc88) 
     162NSTUB(strtolx, 0xff82da8c) 
    162163// Best match: 83% 
    163164NSTUB(time, 0xff8703ec) 
  • trunk/platform/ixusizoom_sd30/sub/100g/stubs_entry.S

    r826 r865  
    178178// ALT: NSTUB(strrchr, 0xffaca6dc) // 8/0 
    179179NSTUB(strtol, 0xffac9e30) 
     180NSTUB(strtoul, 0xffac9fd8) 
    180181NSTUB(taskCreateHookAdd, 0xffad6ce0) 
    181182NSTUB(taskDeleteHookAdd, 0xffad6c1c) 
  • trunk/platform/s2is/sub/100e/stubs_entry.S

    r826 r865  
    174174// ALT: NSTUB(strrchr, 0xffaee57c) // 8/0 
    175175NSTUB(strtol, 0xffaedcd0) 
     176NSTUB(strtoul, 0xffaede78) 
    176177NSTUB(taskCreateHookAdd, 0xffafab80) 
    177178NSTUB(taskDeleteHookAdd, 0xffafaabc) 
  • trunk/platform/s2is/sub/100f/stubs_entry.S

    r826 r865  
    183183// ALT: NSTUB(strrchr, 0xffaee5fc) // 8/0 
    184184NSTUB(strtol, 0xffaedd50) 
     185NSTUB(strtoul, 0xffaedef8) 
    185186NSTUB(taskCreateHookAdd, 0xffafac00) 
    186187NSTUB(taskDeleteHookAdd, 0xffafab3c) 
  • trunk/platform/s2is/sub/100g/stubs_entry.S

    r826 r865  
    183183// ALT: NSTUB(strrchr, 0xffaee388) // 8/0 
    184184NSTUB(strtol, 0xffaedadc) 
     185NSTUB(strtoul, 0xffaedc84) 
    185186NSTUB(taskCreateHookAdd, 0xffafa98c) 
    186187NSTUB(taskDeleteHookAdd, 0xffafa8c8) 
  • trunk/platform/s3is/sub/100a/stubs_entry.S

    r826 r865  
    175175// ALT: NSTUB(strrchr, 0xffb4f73c) // 8/0 
    176176NSTUB(strtol, 0xffb4ee90) 
     177NSTUB(strtoul, 0xffb4f038) 
    177178NSTUB(taskCreateHookAdd, 0xffb5a858) 
    178179NSTUB(taskDeleteHookAdd, 0xffb5a794) 
  • trunk/platform/s5is/sub/101a/stubs_entry.S

    r842 r865  
    142142NSTUB(strrchr, 0xff8b32a0) 
    143143NSTUB(strtol, 0xff831dac) 
     144NSTUB(strtolx, 0xff831bb0) 
    144145NSTUB(time, 0xff870bd0) 
    145146NSTUB(vsprintf, 0xff81e5f0) 
  • trunk/platform/s5is/sub/101b/stubs_entry.S

    r842 r865  
    142142NSTUB(strrchr, 0xff8b31d8) 
    143143NSTUB(strtol, 0xff831ce4) 
     144NSTUB(strtolx, 0xff831ae8) 
    144145NSTUB(time, 0xff870b08) 
    145146NSTUB(vsprintf, 0xff81e528) 
  • trunk/platform/sx1/sub/200h/stubs_entry.S

    r842 r865  
    162162NSTUB(strrchr, 0xff8a081c) 
    163163NSTUB(strtol, 0xff82de30) 
     164NSTUB(strtolx, 0xff82dc34) 
    164165// Best match: 83% 
    165166NSTUB(time, 0xff877c1c) 
  • trunk/platform/sx1/sub/201a/stubs_entry.S

    r842 r865  
    162162NSTUB(strrchr, 0xff8a081c) 
    163163NSTUB(strtol, 0xff82de30) 
     164NSTUB(strtolx, 0xff82dc34) 
    164165// Best match: 83% 
    165166NSTUB(time, 0xff877c1c) 
  • trunk/platform/sx10/sub/100c/stubs_entry.S

    r842 r865  
    163163NSTUB(strrchr, 0xff89b918) 
    164164NSTUB(strtol, 0xff82dd4c) 
     165NSTUB(strtolx, 0xff82db50) 
    165166// Best match: 83% 
    166167NSTUB(time, 0xff873764) 
  • trunk/platform/sx10/sub/101a/stubs_entry.S

    r842 r865  
    163163NSTUB(strrchr, 0xff89b920) 
    164164NSTUB(strtol, 0xff82dd4c) 
     165NSTUB(strtolx, 0xff82db50) 
    165166// Best match: 83% 
    166167NSTUB(time, 0xff87376c) 
  • trunk/platform/sx10/sub/101b/stubs_entry.S

    r842 r865  
    163163NSTUB(strrchr, 0xff89b9c0) 
    164164NSTUB(strtol, 0xff82dd4c) 
     165NSTUB(strtolx, 0xff82db50) 
    165166// Best match: 83% 
    166167NSTUB(time, 0xff87380c) 
  • trunk/platform/sx10/sub/102b/stubs_entry.S

    r842 r865  
    163163NSTUB(strrchr, 0xff89b9c0) 
    164164NSTUB(strtol, 0xff82dd4c) 
     165NSTUB(strtolx, 0xff82db50) 
    165166// Best match: 83% 
    166167NSTUB(time, 0xff87380c) 
  • trunk/platform/sx10/sub/103a/stubs_entry.S

    r842 r865  
    163163NSTUB(strrchr, 0xff89b9c0) 
    164164NSTUB(strtol, 0xff82dd4c) 
     165NSTUB(strtolx, 0xff82db50) 
    165166// Best match: 83% 
    166167NSTUB(time, 0xff87380c) 
  • trunk/platform/sx100is/sub/100b/stubs_entry.S

    r842 r865  
    133133NSTUB(strrchr, 0xffc7661c) 
    134134NSTUB(strtol, 0xffc20338) 
     135NSTUB(strtolx, 0xffc2013c) 
    135136NSTUB(time, 0xffc57f6c) 
    136137NSTUB(vsprintf, 0xffc0e7b4) 
  • trunk/platform/sx100is/sub/100c/stubs_entry.S

    r842 r865  
    133133NSTUB(strrchr, 0xffc76650) 
    134134NSTUB(strtol, 0xffc20338) 
     135NSTUB(strtolx, 0xffc2013c) 
    135136NSTUB(time, 0xffc57fa0) 
    136137NSTUB(vsprintf, 0xffc0e7b4) 
  • trunk/platform/sx110is/sub/100b/stubs_entry.S

    r842 r865  
    159159NSTUB(strrchr, 0xffc74a08) 
    160160NSTUB(strtol, 0xffc1d48c) 
     161NSTUB(strtolx, 0xffc1d290) 
    161162NSTUB(time, 0xffc59470) 
    162163NSTUB(vsprintf, 0xffc0d7f8) 
  • trunk/platform/sx200is/sub/100c/stubs_entry.S

    r842 r865  
    154154NSTUB(strrchr, 0xff88fca8) 
    155155NSTUB(strtol, 0xff82d3f4) 
     156NSTUB(strtolx, 0xff82d1f8) 
    156157// Best match: 86% 
    157158NSTUB(time, 0xff86e4e4) 
  • trunk/platform/tx1/sub/100g/stubs_entry.S

    r826 r865  
    177177// ALT: NSTUB(strrchr, 0xff923bbc) // 8/0 
    178178NSTUB(strtol, 0xff923310) 
     179NSTUB(strtoul, 0xff9234b8) 
    179180NSTUB(taskCreateHookAdd, 0xff92e0dc) 
    180181NSTUB(taskDeleteHookAdd, 0xff92e018) 
  • trunk/platform/tx1/sub/101b/stubs_entry.S

    r826 r865  
    177177// ALT: NSTUB(strrchr, 0xff923bbc) // 8/0 
    178178NSTUB(strtol, 0xff923310) 
     179NSTUB(strtoul, 0xff9234b8) 
    179180NSTUB(taskCreateHookAdd, 0xff92e0dc) 
    180181NSTUB(taskDeleteHookAdd, 0xff92e018) 
  • trunk/tools/sig_ref_dryos_1.txt

    r842 r865  
    104104GetFocusLensSubjectDistance 0xFFCFDB3C 
    105105GetFocusLensSubjectDistanceFromLens 0xFFCFDE48 22 
     106strtolx 0xFFC1FA10 
  • trunk/tools/sig_ref_vxworks_1.txt

    r826 r865  
    136136PostLogicalEventForNotPowerType 0xFFD44F04 
    137137SetCurrentCaptureModeType 0xFFD76E1C 16 
     138strtoul 0xFFEB5814 
  • trunk/tools/signatures_dryos.h

    r842 r865  
    31343134        { -1, -1, -1 }, 
    31353135        /* 19/22 */ 
     3136}; 
     3137 
     3138static FuncSig func_sig_strtolx_1[] = { 
     3139        {   1, 0xe1b09001, 0xfdffffff }, // mov:6:0xE1B09001 
     3140        {   2, 0xe1a0b000, 0xfdffffff }, // mov:6:0xE1A0B000 
     3141        {   3, 0xe59f11f8, 0xfdffffff }, // ldr:4:0xE59F11F8 
     3142        {   4, 0xe04dd004, 0xfdffffff }, // sub:6:0xE24DD004 
     3143        {   5, 0xe1a0400b, 0xfdffffff }, // mov:6:0xE1A0400B 
     3144        {   6, 0xe1a0a001, 0xfdffffff }, // mov:6:0xE3A0A001 
     3145        {   7, 0xe1a08000, 0xfdffffff }, // mov:6:0xE3A08000 
     3146        {   8, 0xe1a06002, 0xfdffffff }, // mov:6:0xE1A06002 
     3147        {   9, 0xe1a05000, 0xfdffffff }, // mov:6:0xE3A05000 
     3148        {  10, 0x1589b000, 0xfdffffff }, // str:4:0x1589B000 
     3149        {  13, 0xe1100040, 0xfdffffff }, // tst:7:0xE3100040 
     3150        {  14, 0x10844001, 0xfdffffff }, // add:6:0x12844001 
     3151        {  15, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFFA 
     3152        {  17, 0xe150002d, 0xfdffffff }, // cmp:7:0xE350002D 
     3153        {  19, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000001 
     3154        {  20, 0xe150002b, 0xfdffffff }, // cmp:7:0xE350002B 
     3155        {  21, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000000 
     3156        {  22, 0xe0844001, 0xfdffffff }, // add:6:0xE2844001 
     3157        {  23, 0xe1560000, 0xfdffffff }, // cmp:7:0xE3560000 
     3158        {  24, 0xe58d4000, 0xfdffffff }, // str:4:0xE58D4000 
     3159        {  25, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A00000E 
     3160        {  27, 0xe1500030, 0xfdffffff }, // cmp:7:0xE3500030 
     3161        {  28, 0x11a0600a, 0xfdffffff }, // mov:6:0x13A0600A 
     3162        {  29, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000025 
     3163        {  31, 0xe1500078, 0xfdffffff }, // cmp:7:0xE3500078 
     3164        { -1, -1, -1 }, 
     3165        /* 25/32 */ 
    31363166}; 
    31373167 
     
    47354765        { "strrchr", func_sig_strrchr_2 }, 
    47364766        { "strtol", func_sig_strtol_1 }, 
     4767        { "strtolx", func_sig_strtolx_1 }, 
    47374768        { "time", func_sig_time_1 }, 
    47384769        { "time", func_sig_time_2 }, 
  • trunk/tools/signatures_vxworks.h

    r826 r865  
    36203620        { -1, -1, -1 }, 
    36213621        /* 15/16 */ 
     3622}; 
     3623 
     3624static FuncSig func_sig_strtoul_1[] = { 
     3625        {   0, 0xe04dd004, 0xfdffffff }, // sub:6:0xE24DD004 
     3626        {   2, 0xe58d1024, 0xfdffffff }, // str:4:0xE58D1024 
     3627        {   3, 0xe59f6168, 0xfdffffff }, // ldr:4:0xE59F6168 
     3628        {   4, 0xe1a04000, 0xfdffffff }, // mov:6:0xE3A04000 
     3629        {   5, 0xe1a07000, 0xfdffffff }, // mov:6:0xE1A07000 
     3630        {   6, 0xe1a05002, 0xfdffffff }, // mov:6:0xE1A05002 
     3631        {   7, 0xe5966000, 0xfdffffff }, // ldr:4:0xE5966000 
     3632        {   8, 0xe1a09000, 0xfdffffff }, // mov:6:0xE1A09000 
     3633        {  11, 0xe1130028, 0xfdffffff }, // tst:7:0xE3130028 
     3634        {  12, 0x1a000000, 0xff000000 }, // b, bl:3:0x1AFFFFFB 
     3635        {  13, 0xe15b002d, 0xfdffffff }, // cmp:7:0xE35B002D 
     3636        {  14, 0x01a04001, 0xfdffffff }, // mov:6:0x03A04001 
     3637        {  15, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000000 
     3638        {  16, 0xe15b002b, 0xfdffffff }, // cmp:7:0xE35B002B 
     3639        {  18, 0xe1520000, 0xfdffffff }, // cmp:7:0xE3520000 
     3640        {  19, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000001 
     3641        {  20, 0xe1520010, 0xfdffffff }, // cmp:7:0xE3520010 
     3642        {  21, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000008 
     3643        {  22, 0xe15b0030, 0xfdffffff }, // cmp:7:0xE35B0030 
     3644        {  23, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000006 
     3645        {  25, 0xe1500078, 0xfdffffff }, // cmp:7:0xE3500078 
     3646        {  26, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000000 
     3647        {  27, 0xe1500058, 0xfdffffff }, // cmp:7:0xE3500058 
     3648        {  29, 0x00899002, 0xfdffffff }, // add:6:0x02899002 
     3649        {  30, 0x01a05010, 0xfdffffff }, // mov:6:0x03A05010 
     3650        {  31, 0xe1550000, 0xfdffffff }, // cmp:7:0xE3550000 
     3651        { -1, -1, -1 }, 
     3652        /* 26/32 */ 
    36223653}; 
    36233654 
     
    55095540        { "strrchr", func_sig_strrchr_2 }, 
    55105541        { "strtol", func_sig_strtol_1 }, 
     5542        { "strtoul", func_sig_strtoul_1 }, 
    55115543        { "taskCreateHookAdd", func_sig_taskCreateHookAdd_1 }, 
    55125544        { "taskDeleteHookAdd", func_sig_taskDeleteHookAdd_1 }, 
Note: See TracChangeset for help on using the changeset viewer.