Changeset 2964


Ignore:
Timestamp:
Feb 13, 2007, 11:40:35 AM (18 years ago)
Author:
bird
Message:

literals and ignore weaks.

Location:
trunk/kLdr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kLdr/kLdr.h

    r2963 r2964  
    636636#if !defined(KLDR_LITTLE_ENDIAN) && !defined(KLDR_BIG_ENDIAN)
    637637# define KLDR_LITTLE_ENDIAN
    638 #endif 
     638#endif
    639639#ifdef __DOXYGEN__
    640640# define KLDR_BIG_ENDIAN
    641 #endif 
     641#endif
    642642
    643643
     
    13761376/** Bad symbol table entry. */
    13771377#define KLDR_ERR_MACHO_BAD_SYMBOL                           (KLDR_ERR_MACHO_BASE + 14)
     1378/** Unsupported fixup type. */
     1379#define KLDR_ERR_MACHO_UNSUPPORTED_FIXUP_TYPE               (KLDR_ERR_MACHO_BASE + 15)
    13781380/** @} */
    13791381
    13801382/** End of the valid kLdr status codes. */
    1381 #define KLDR_ERR_END                                        (KLDR_ERR_MACHO_BASE + 15)
     1383#define KLDR_ERR_END                                        (KLDR_ERR_MACHO_BASE + 16)
    13821384
    13831385const char *kLdrErrStr(int rc);
  • trunk/kLdr/kLdrModMachO.c

    r2963 r2964  
    557557                        case S_CSTRING_LITERALS:
    558558                        case S_COALESCED:
     559                        case S_4BYTE_LITERALS:
     560                        case S_8BYTE_LITERALS:
     561                        case S_16BYTE_LITERALS:
    559562                            if (pSect->reserved1 || pSect->reserved2)
    560563                                return KLDR_ERR_MACHO_BAD_SECTION;
     
    567570                        case S_NON_LAZY_SYMBOL_POINTERS:
    568571                        case S_LAZY_SYMBOL_POINTERS:
    569                         case S_4BYTE_LITERALS:
    570                         case S_8BYTE_LITERALS:
    571                         case S_16BYTE_LITERALS:
    572572                        case S_SYMBOL_STUBS:
    573573                        case S_MOD_INIT_FUNC_POINTERS:
     
    17671767            }
    17681768            else if (paSyms[iSym].n_desc & N_WEAK_DEF)
    1769                 return KLDR_ERR_TODO; /** @todo implement weak symbols. */
     1769            {
     1770                /** @todo implement weak symbols. */
     1771                /*return KLDR_ERR_TODO; - ignored for now. */
     1772            }
    17701773        }
    17711774    }
     
    18151818            }
    18161819            else if (paSyms[iSym].n_desc & N_WEAK_DEF)
    1817                 return KLDR_ERR_TODO; /** @todo implement weak symbols. */
     1820            {
     1821                /** @todo implement weak symbols. */
     1822                /*return KLDR_ERR_TODO; - ignored for now. */
     1823            }
    18181824        }
    18191825    }
     
    20782084        }
    20792085        else if (Fixup.r.r_type <= GENERIC_RELOC_LOCAL_SECTDIFF)
    2080             return KLDR_ERR_TODO;
     2086            return KLDR_ERR_MACHO_UNSUPPORTED_FIXUP_TYPE;
    20812087        else
    20822088            return KLDR_ERR_BAD_FIXUP;
Note: See TracChangeset for help on using the changeset viewer.