emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/unexnext.c


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/unexnext.c
Date: Fri, 04 Apr 2003 01:24:08 -0500

Index: emacs/src/unexnext.c
diff -c emacs/src/unexnext.c:1.7 emacs/src/unexnext.c:1.8
*** emacs/src/unexnext.c:1.7    Tue Sep  2 01:05:37 1997
--- emacs/src/unexnext.c        Tue Feb  4 09:03:13 2003
***************
*** 44,50 ****
   * pages it vm_allocated and write only those out into the data segment.
   *
   * This kludge may break when we stop using fixed virtual address
!  * shared libraries. Actually, emacs will probably continue working, but be 
   * much larger on disk than it needs to be (because non-malloced data will
   * be in the file).
   */
--- 44,50 ----
   * pages it vm_allocated and write only those out into the data segment.
   *
   * This kludge may break when we stop using fixed virtual address
!  * shared libraries. Actually, emacs will probably continue working, but be
   * much larger on disk than it needs to be (because non-malloced data will
   * be in the file).
   */
***************
*** 73,79 ****
                *the_commands = malloc(sizeof(*the_commands));
        } else {
                (*the_commands_len)++;
!               *the_commands = realloc(*the_commands, 
                                        (*the_commands_len *
                                         sizeof(**the_commands)));
        }
--- 73,79 ----
                *the_commands = malloc(sizeof(*the_commands));
        } else {
                (*the_commands_len)++;
!               *the_commands = realloc(*the_commands,
                                        (*the_commands_len *
                                         sizeof(**the_commands)));
        }
***************
*** 125,131 ****
                return (0);
        }
        for (i = 0; i < the_header->ncmds; i++) {
!               if (read(fd, &command, sizeof(struct load_command)) != 
                    sizeof(struct load_command)) {
                        fatal_unexec("cannot read macho load command header");
                        return (0);
--- 125,131 ----
                return (0);
        }
        for (i = 0; i < the_header->ncmds; i++) {
!               if (read(fd, &command, sizeof(struct load_command)) !=
                    sizeof(struct load_command)) {
                        fatal_unexec("cannot read macho load command header");
                        return (0);
***************
*** 138,145 ****
                buf = malloc(command.cmdsize);
                buf->cmd = command.cmd;
                buf->cmdsize = command.cmdsize;
!               if (read(fd, ((char *)buf + 
!                             sizeof(struct load_command)), 
                         size) != size) {
                        fatal_unexec("cannot read load command data");
                        return (0);
--- 138,145 ----
                buf = malloc(command.cmdsize);
                buf->cmd = command.cmd;
                buf->cmdsize = command.cmdsize;
!               if (read(fd, ((char *)buf +
!                             sizeof(struct load_command)),
                         size) != size) {
                        fatal_unexec("cannot read load command data");
                        return (0);
***************
*** 184,214 ****
        region.address = 0;
        *address = 0;
        for (;;) {
!               ret = vm_region(task_self(), 
!                               &region.address, 
!                               &region.size, 
!                               &region.protection, 
!                               &region.max_protection, 
                                &region.inheritance,
!                               &region.shared, 
!                               &region.object_name, 
                                &region.offset);
                if (ret != KERN_SUCCESS || region.address >= VM_HIGHDATA) {
                        break;
                }
                if (*address != 0) {
                        if (region.address > *address + *size) {
!                               if (!filldatagap(*address, size, 
                                                 region.address)) {
                                        return (0);
                                }
!                       } 
                        *size += region.size;
                } else {
                        if (region.address == sect->addr) {
                                *address = region.address;
                                *size = region.size;
!                       } 
                }
                region.address += region.size;
        }
--- 184,214 ----
        region.address = 0;
        *address = 0;
        for (;;) {
!               ret = vm_region(task_self(),
!                               &region.address,
!                               &region.size,
!                               &region.protection,
!                               &region.max_protection,
                                &region.inheritance,
!                               &region.shared,
!                               &region.object_name,
                                &region.offset);
                if (ret != KERN_SUCCESS || region.address >= VM_HIGHDATA) {
                        break;
                }
                if (*address != 0) {
                        if (region.address > *address + *size) {
!                               if (!filldatagap(*address, size,
                                                 region.address)) {
                                        return (0);
                                }
!                       }
                        *size += region.size;
                } else {
                        if (region.address == sect->addr) {
                                *address = region.address;
                                *size = region.size;
!                       }
                }
                region.address += region.size;
        }
***************
*** 293,299 ****
                                if (strcmp(segment->segname, SEG_DATA) == 0) {
                                        fdatastart = segment->fileoff;
                                        fdatasize = segment->filesize;
!                                       fgrowth = (data_size - 
                                                   segment->filesize);
                                        segment->vmsize = data_size;
                                        segment->filesize = data_size;
--- 293,299 ----
                                if (strcmp(segment->segname, SEG_DATA) == 0) {
                                        fdatastart = segment->fileoff;
                                        fdatasize = segment->filesize;
!                                       fgrowth = (data_size -
                                                   segment->filesize);
                                        segment->vmsize = data_size;
                                        segment->filesize = data_size;
***************
*** 332,368 ****
                                break;
                        }
                }
!               
                /*
                 * Write header
                 */
!               if (write(outfd, &the_header, 
                          sizeof(the_header)) != sizeof(the_header)) {
                        fatal_unexec("cannot write output file");
                        return (0);
                }
!               
                /*
                 * Write commands
                 */
                for (i = 0; i < the_commands_len; i++) {
!                       if (write(outfd, the_commands[i], 
!                                 the_commands[i]->cmdsize) != 
                            the_commands[i]->cmdsize) {
                                fatal_unexec("cannot write output file");
                                return (0);
                        }
                }
!               
                /*
                 * Write original text
                 */
!               if (lseek(infd, the_header.sizeofcmds + sizeof(the_header), 
                          L_SET) < 0) {
                        fatal_unexec("cannot seek input file");
                        return (0);
                }
!               size = fdatastart - (sizeof(the_header) + 
                                     the_header.sizeofcmds);
                buf = my_malloc(size);
                if (read(infd, buf, size) != size) {
--- 332,368 ----
                                break;
                        }
                }
! 
                /*
                 * Write header
                 */
!               if (write(outfd, &the_header,
                          sizeof(the_header)) != sizeof(the_header)) {
                        fatal_unexec("cannot write output file");
                        return (0);
                }
! 
                /*
                 * Write commands
                 */
                for (i = 0; i < the_commands_len; i++) {
!                       if (write(outfd, the_commands[i],
!                                 the_commands[i]->cmdsize) !=
                            the_commands[i]->cmdsize) {
                                fatal_unexec("cannot write output file");
                                return (0);
                        }
                }
! 
                /*
                 * Write original text
                 */
!               if (lseek(infd, the_header.sizeofcmds + sizeof(the_header),
                          L_SET) < 0) {
                        fatal_unexec("cannot seek input file");
                        return (0);
                }
!               size = fdatastart - (sizeof(the_header) +
                                     the_header.sizeofcmds);
                buf = my_malloc(size);
                if (read(infd, buf, size) != size) {
***************
*** 375,391 ****
                        return (0);
                }
                my_free(buf, size);
!               
!               
                /*
                 * Write new data
                 */
!               if (write(outfd, (char *)data_address, 
                          data_size) != data_size) {
                        fatal_unexec("cannot write output file");
                        return (0);
                }
!               
        }
  
        /*
--- 375,391 ----
                        return (0);
                }
                my_free(buf, size);
! 
! 
                /*
                 * Write new data
                 */
!               if (write(outfd, (char *)data_address,
                          data_size) != data_size) {
                        fatal_unexec("cannot write output file");
                        return (0);
                }
! 
        }
  
        /*
***************
*** 424,430 ****
                fatal_unexec("cannot seek input file");
                return (0);
        }
!         
          for (i = 0; i < nextrel; i++)
          {
            long zeroval = 0;
--- 424,430 ----
                fatal_unexec("cannot seek input file");
                return (0);
        }
! 
          for (i = 0; i < nextrel; i++)
          {
            long zeroval = 0;
***************
*** 482,488 ****
                fatal_unexec("cannot open input file `%s'", infile);
                exit(1);
        }
!       
        tmpnam(tmpbuf);
        tmpfile = rindex(tmpbuf, '/');
        if (tmpfile == NULL) {
--- 482,488 ----
                fatal_unexec("cannot open input file `%s'", infile);
                exit(1);
        }
! 
        tmpnam(tmpbuf);
        tmpfile = rindex(tmpbuf, '/');
        if (tmpfile == NULL) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]