Changeset 4646710 in mainline for boot/arch/arm32


Ignore:
Timestamp:
2017-06-07T15:39:23Z (9 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
239e32b8
Parents:
22299ed
Message:

replace objcopy with mkarray.py
(objcopy is notoriously problematic due to the uncontrolable way how it generates the object files, with what flags, etc.)

Location:
boot/arch/arm32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/arm32/Makefile.inc

    r22299ed r4646710  
    9696        arch/$(BARCH)/src/mm.c \
    9797        arch/$(BARCH)/src/putchar.c \
    98         $(COMPS_C) \
     98        $(COMPS).s \
     99        $(COMPS)_desc.c \
    99100        genarch/src/division.c \
    100101        generic/src/memstr.c \
     
    105106        generic/src/version.c \
    106107        generic/src/inflate.c
     108
     109PRE_DEPEND = $(COMPS).s $(COMPS).h $(COMPS)_desc.c
  • boot/arch/arm32/_link.ld.in

    r22299ed r4646710  
    2323                *(.bss);        /* uninitialized static variables */
    2424                *(COMMON);      /* global variables */
    25 [[COMPONENTS]]
     25                *(.components);
    2626        }
    2727        bdata_end = .;
  • boot/arch/arm32/src/main.c

    r22299ed r4646710  
    3737#include <arch/asm.h>
    3838#include <arch/mm.h>
    39 #include <arch/_components.h>
    4039#include <halt.h>
    4140#include <printf.h>
     
    4948#include <inflate.h>
    5049#include <arch/cp15.h>
     50#include "../../components.h"
    5151
    5252#define TOP2ADDR(top)  (((void *) PA2KA(BOOT_OFFSET)) + (top))
     
    9999       
    100100        for (size_t i = 0; i < COMPONENTS; i++) {
    101                 printf(" %p|%p: %s image (%u/%u bytes)\n", components[i].start,
    102                     components[i].start, components[i].name, components[i].inflated,
     101                printf(" %p|%p: %s image (%u/%u bytes)\n", components[i].addr,
     102                    components[i].addr, components[i].name, components[i].inflated,
    103103                    components[i].size);
    104104        }
     
    129129       
    130130        for (size_t i = cnt; i > 0; i--) {
    131                 void *tail = components[i - 1].start + components[i - 1].size;
     131                void *tail = components[i - 1].addr + components[i - 1].size;
    132132                if (tail >= dest[i - 1]) {
    133133                        printf("\n%s: Image too large to fit (%p >= %p), halting.\n",
     
    138138                printf("%s ", components[i - 1].name);
    139139               
    140                 int err = inflate(components[i - 1].start, components[i - 1].size,
     140                int err = inflate(components[i - 1].addr, components[i - 1].size,
    141141                    dest[i - 1], components[i - 1].inflated);
    142142                if (err != EOK) {
Note: See TracChangeset for help on using the changeset viewer.