]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/kern_symfile.c
xnu-517.9.5.tar.gz
[apple/xnu.git] / bsd / kern / kern_symfile.c
index e667644912e8b05c89aad85f5d47c2e38af15e36..9091fca2372801bf8de1f2c7cdeb634a288b51e9 100644 (file)
@@ -3,22 +3,19 @@
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License").  You may not use this file except in compliance with the
+ * License.  Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
  * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
  * 
  * @APPLE_LICENSE_HEADER_END@
  */
@@ -110,15 +107,15 @@ static int output_kernel_symbols(struct proc *p)
     // Dispose of unnecessary gumf, the booter doesn't need to load these
     rc_mh = IODTGetLoaderInfo("Kernel-__HEADER",
                                (void **)&orig_mh, &orig_mhsize);
-    if (rc_mh && orig_mh)
+    if (rc_mh == 0 && orig_mh)
        IODTFreeLoaderInfo("Kernel-__HEADER",
-                           (void *)orig_mh, round_page(orig_mhsize));
+                           (void *)orig_mh, round_page_32(orig_mhsize));
 
     rc_sc = IODTGetLoaderInfo("Kernel-__SYMTAB",
                                (void **) &orig_st, &orig_st_size);
-    if (rc_sc && orig_st)
+    if (rc_sc == 0 && orig_st)
        IODTFreeLoaderInfo("Kernel-__SYMTAB",
-                           (void *)orig_st, round_page(orig_st_size));
+                           (void *)orig_st, round_page_32(orig_st_size));
 
     if (pcred->p_svuid != pcred->p_ruid || pcred->p_svgid != pcred->p_rgid)
        goto out;
@@ -207,7 +204,7 @@ static int output_kernel_symbols(struct proc *p)
     mh->flags      = orig_mh->flags;
 
     // Initialise the current file offset and addr
-    offset = round_page(header_size);
+    offset = round_page_32(header_size);
     addr = (caddr_t) const_text->addr; // Load address of __TEXT,__const
 
     /*
@@ -220,7 +217,7 @@ static int output_kernel_symbols(struct proc *p)
     sg->vmaddr   = (unsigned long) addr;
     sg->vmsize   = const_text->size;
     sg->fileoff  = 0;
-    sg->filesize = const_text->size + round_page(header_size);
+    sg->filesize = const_text->size + round_page_32(header_size);
     sg->maxprot  = 0;
     sg->initprot = 0;
     sg->flags    = 0;
@@ -237,7 +234,7 @@ static int output_kernel_symbols(struct proc *p)
            const_text = se;
        }
     }
-    offset = round_page((vm_address_t) offset);
+    offset = round_page_32((vm_address_t) offset);
 
     // Now copy of the __DATA segment load command, the image need
     // not be stored to disk nobody needs it, yet!
@@ -258,7 +255,7 @@ static int output_kernel_symbols(struct proc *p)
        se->offset = offset;
        se->nreloc = 0;
     }
-    offset = round_page(offset);
+    offset = round_page_32(offset);
 
 
     /*