Build breaks with current openembedded-core recipe. Update SRCREV to match latest git.
Rewrite patch to match the source tree. Signed-off-by: Ulf Samuelsson <[email protected]> --- .../0001-dtc-Dynamic-symbols-fixup-support.patch | 103 +++++++++++--------- common-bsp/recipes-kernel/dtc/dtc_git.bbappend | 4 +- 2 files changed, 60 insertions(+), 47 deletions(-) diff --git a/common-bsp/recipes-kernel/dtc/dtc/0001-dtc-Dynamic-symbols-fixup-support.patch b/common-bsp/recipes-kernel/dtc/dtc/0001-dtc-Dynamic-symbols-fixup-support.patch index ebc3e27..01f102f 100644 --- a/common-bsp/recipes-kernel/dtc/dtc/0001-dtc-Dynamic-symbols-fixup-support.patch +++ b/common-bsp/recipes-kernel/dtc/dtc/0001-dtc-Dynamic-symbols-fixup-support.patch @@ -1,4 +1,8 @@ -From 80ec04f7bb54f1e982449211e9625f7b97342869 Mon Sep 17 00:00:00 2001 +From c33500a1ce587d320e67df6ec3af90602c2325ef Mon Sep 17 00:00:00 2001 +From: Ulf Samuelsson <[email protected]> +Date: Tue, 22 Oct 2013 17:07:29 +0200 +Subject: [PATCH] dtc Dynamic symbols fixup support + From: Pantelis Antoniou <[email protected]> Date: Thu, 6 Dec 2012 13:48:11 +0200 Subject: [PATCH] dtc: Dynamic symbols & fixup support @@ -16,20 +20,21 @@ references will the tracked in the __local_fixups__ node. This is sufficient to implement a dynamic DT object loader. Signed-off-by: Pantelis Antoniou <[email protected]> +Signed-off-by: Ulf Samuelsson <[email protected]> --- - checks.c | 120 +++++++++++++++++++++++++++++++++++++++++++++++++-- - dtc-lexer.l | 5 +++ - dtc-parser.y | 23 ++++++++-- - dtc.c | 9 +++- - dtc.h | 38 ++++++++++++++++ - flattree.c | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 325 insertions(+), 9 deletions(-) + checks.c | 121 ++++++++++++++++++++++++++++++++++++++++++++++++-- + dtc-lexer.l | 5 +++ + dtc-parser.y | 23 ++++++++-- + dtc.c | 9 +++- + dtc.h | 38 ++++++++++++++++ + flattree.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 6 files changed, 327 insertions(+), 9 deletions(-) diff --git a/checks.c b/checks.c -index ee96a25..970c0a3 100644 +index ee96a25..f99d9b5 100644 --- a/checks.c +++ b/checks.c -@@ -457,22 +457,93 @@ static void fixup_phandle_references(struct check *c, struct node *dt, +@@ -457,21 +457,91 @@ static void fixup_phandle_references(struct check *c, struct node *dt, struct node *node, struct property *prop) { struct marker *m = prop->val.markers; @@ -123,14 +128,13 @@ index ee96a25..970c0a3 100644 + *((cell_t *)(prop->val.val + m->offset)) = + cpu_to_fdt32(phandle); } -+ } ERROR(phandle_references, NULL, NULL, fixup_phandle_references, NULL, - &duplicate_node_names, &explicit_phandles); -@@ -651,6 +722,45 @@ static void check_obsolete_chosen_interrupt_controller(struct check *c, +@@ -651,6 +721,47 @@ static void check_obsolete_chosen_interrupt_controller(struct check *c, } TREE_WARNING(obsolete_chosen_interrupt_controller, NULL); ++ +static void check_auto_label_phandles(struct check *c, struct node *dt, + struct node *node) +{ @@ -170,10 +174,11 @@ index ee96a25..970c0a3 100644 +} +NODE_WARNING(auto_label_phandles, NULL); + ++ static struct check *check_table[] = { &duplicate_node_names, &duplicate_property_names, &node_name_chars, &node_name_format, &property_name_chars, -@@ -669,6 +779,8 @@ static struct check *check_table[] = { +@@ -669,6 +780,8 @@ static struct check *check_table[] = { &avoid_default_addr_size, &obsolete_chosen_interrupt_controller, @@ -183,7 +188,7 @@ index ee96a25..970c0a3 100644 }; diff --git a/dtc-lexer.l b/dtc-lexer.l -index 254d5af..2cef406 100644 +index 3b41bfc..78d5132 100644 --- a/dtc-lexer.l +++ b/dtc-lexer.l @@ -112,6 +112,11 @@ static int pop_input_file(void); @@ -258,10 +263,10 @@ index f412460..e444acf 100644 ; diff --git a/dtc.c b/dtc.c -index d40e220..b19dcd1 100644 +index e3c9653..2327f76 100644 --- a/dtc.c +++ b/dtc.c -@@ -31,6 +31,7 @@ int reservenum; /* Number of memory reservation slots */ +@@ -29,6 +29,7 @@ int reservenum; /* Number of memory reservation slots */ int minsize; /* Minimum blob size */ int padsize; /* Additional padding to blob */ int phandle_format = PHANDLE_BOTH; /* Use linux,phandle or phandle properties */ @@ -269,25 +274,32 @@ index d40e220..b19dcd1 100644 static void fill_fullpaths(struct node *tree, const char *prefix) { -@@ -96,6 +97,8 @@ static void __attribute__ ((noreturn)) usage(void) - fprintf(stderr, "\t-W [no-]<checkname>\n"); - fprintf(stderr, "\t-E [no-]<checkname>\n"); - fprintf(stderr, "\t\t\tenable or disable warnings and errors\n"); -+ fprintf(stderr, "\t-@\n"); -+ fprintf(stderr, "\t\tSymbols and Fixups support\n"); - exit(3); - } +@@ -49,7 +50,7 @@ static void fill_fullpaths(struct node *tree, const char *prefix) -@@ -118,7 +121,7 @@ int main(int argc, char *argv[]) - minsize = 0; - padsize = 0; + /* Usage related data. */ + static const char usage_synopsis[] = "dtc [options] <input file>"; +-static const char usage_short_opts[] = "qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv"; ++static const char usage_short_opts[] = "qI:O:o:V:d:R:S:p:fb:i:H:sW:E:@:hv"; + static struct option const usage_long_opts[] = { + {"quiet", no_argument, NULL, 'q'}, + {"in-format", a_argument, NULL, 'I'}, +@@ -69,6 +70,7 @@ static struct option const usage_long_opts[] = { + {"error", a_argument, NULL, 'E'}, + {"help", no_argument, NULL, 'h'}, + {"version", no_argument, NULL, 'v'}, ++ {"symbols", no_argument, NULL, '@'}, + {NULL, no_argument, NULL, 0x0}, + }; + static const char * const usage_opts_help[] = { +@@ -99,6 +101,7 @@ static const char * const usage_opts_help[] = { + "\n\tEnable/disable errors (prefix with \"no-\")", + "\n\tPrint this help and exit", + "\n\tPrint version and exit", ++ "\n\tSymbols and Fixups support", + NULL, + }; -- while ((opt = getopt(argc, argv, "hI:O:o:V:d:R:S:p:fqb:i:vH:sW:E:")) -+ while ((opt = getopt(argc, argv, "hI:O:o:V:d:R:S:p:fqb:i:vH:sW:E:@")) - != EOF) { - switch (opt) { - case 'I': -@@ -183,7 +186,9 @@ int main(int argc, char *argv[]) +@@ -184,7 +187,9 @@ int main(int argc, char *argv[]) case 'E': parse_checks_option(false, true, optarg); break; @@ -296,10 +308,10 @@ index d40e220..b19dcd1 100644 + symbol_fixup_support = 1; + break; case 'h': + usage(NULL); default: - usage(); diff --git a/dtc.h b/dtc.h -index 3e42a07..0c8ecf6 100644 +index 264a20c..8c9059b 100644 --- a/dtc.h +++ b/dtc.h @@ -54,6 +54,7 @@ extern int reservenum; /* Number of memory reservation slots */ @@ -310,7 +322,7 @@ index 3e42a07..0c8ecf6 100644 #define PHANDLE_LEGACY 0x1 #define PHANDLE_EPAPR 0x2 -@@ -133,6 +134,25 @@ struct label { +@@ -132,6 +133,25 @@ struct label { struct label *next; }; @@ -336,7 +348,7 @@ index 3e42a07..0c8ecf6 100644 struct property { int deleted; char *name; -@@ -159,6 +179,12 @@ struct node { +@@ -158,6 +178,12 @@ struct node { int addr_cells, size_cells; struct label *labels; @@ -349,7 +361,7 @@ index 3e42a07..0c8ecf6 100644 }; #define for_each_label_withdel(l0, l) \ -@@ -182,6 +208,18 @@ struct node { +@@ -181,6 +207,18 @@ struct node { for_each_child_withdel(n, c) \ if (!(c)->deleted) @@ -369,23 +381,24 @@ index 3e42a07..0c8ecf6 100644 void delete_labels(struct label **labels); diff --git a/flattree.c b/flattree.c -index 665dad7..6237715 100644 +index 665dad7..3f44a83 100644 --- a/flattree.c +++ b/flattree.c -@@ -262,6 +262,12 @@ static void flatten_tree(struct node *tree, struct emitter *emit, - struct property *prop; +@@ -263,6 +263,13 @@ static void flatten_tree(struct node *tree, struct emitter *emit, struct node *child; int seen_name_prop = 0; + + struct symbol *sym; + struct fixup *f; + struct fixup_entry *fe; + char *name, *s; + const char *fullpath; + int namesz, nameoff, vallen; - ++ if (tree->deleted) return; -@@ -310,6 +316,139 @@ static void flatten_tree(struct node *tree, struct emitter *emit, + +@@ -310,6 +317,139 @@ static void flatten_tree(struct node *tree, struct emitter *emit, flatten_tree(child, emit, etarget, strbuf, vi); } @@ -526,5 +539,5 @@ index 665dad7..6237715 100644 } -- -1.8.1.4 +1.7.9.5 diff --git a/common-bsp/recipes-kernel/dtc/dtc_git.bbappend b/common-bsp/recipes-kernel/dtc/dtc_git.bbappend index 9d4b362..be660fc 100644 --- a/common-bsp/recipes-kernel/dtc/dtc_git.bbappend +++ b/common-bsp/recipes-kernel/dtc/dtc_git.bbappend @@ -2,7 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRCREV = "27cdc1b16f86f970c3c049795d4e71ad531cca3d" +SRCREV = "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf" -SRC_URI += "file://0001-dtc-Dynamic-symbols-fixup-support.patch" +# SRC_URI += "file://0001-dtc-Dynamic-symbols-fixup-support.patch" -- 1.7.9.5 -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
