lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 31 May 2013 14:07:57 +0100 From: Ian Campbell <Ian.Campbell@...rix.com> To: Jon Loeliger <jdl@....com> CC: Grant Likely <grant.likely@...retlab.ca>, linux-kernel <linux-kernel@...r.kernel.org>, <linuxppc-dev@...ts.ozlabs.org>, Michal Marek <mmarek@...e.cz>, Stephen Warren <swarren@...dia.com>, Rob Herring <rob.herring@...xeda.com>, <linux-kbuild@...r.kernel.org> Subject: Re: DTB build failure due to preproccessing On Fri, 2013-05-31 at 08:01 -0500, Jon Loeliger wrote: > > > > > > Line 374 is the "IDSEL 0x16..." line here: > > > interrupt-map = < > > > /* IRQ mapping for pci slots and ALI M1533 > > > ... > > > * management core also isn't used. > > > */ > > > > > > /* IDSEL 0x16 / dev=6, bus=0 / PCI slot 3 */ > > > 0x3000 0 0 1 &xps_intc_0 3 2 > > > 0x3000 0 0 2 &xps_intc_0 2 2 > > > 0x3000 0 0 3 &xps_intc_0 5 2 > > > 0x3000 0 0 4 &xps_intc_0 4 2 > > Can you show me the original source without mods here, please? This is Linux v3.10-rc3 arch/powerpc/boot/dts/virtex440-ml510.dts also attached. > Or is the "..." purely elided comments? Yes. > > > Which gets preprocessed into: > > > interrupt-map = < > > > # 375 "arch/powerpc/boot/dts/virtex440-ml510.dts" > > > 0x3000 0 0 1 &xps_intc_0 3 2 > > > 0x3000 0 0 2 &xps_intc_0 2 2 > > > 0x3000 0 0 3 &xps_intc_0 5 2 > > > 0x3000 0 0 4 &xps_intc_0 4 2 > > > > dtc is only able to track line numbers when the native /include/ > > directive is used. The #include directive doesn't help it. It should be > > added, but until it is the following patch solves the problem: > > It's supposed to do better than that, I think. > This, from dtc-lexer.l > > <*>^"#"(line)?{WS}+[0-9]+{WS}+{STRING}({WS}+[0-9]+)? { > char *line, *tmp, *fn; > /* skip text before line # */ > line = yytext; > while (!isdigit(*line)) > line++; > /* skip digits in line # */ > tmp = line; > while (!isspace(*tmp)) > tmp++; > /* "NULL"-terminate line # */ > *tmp = '\0'; > /* start of filename */ > fn = strchr(tmp + 1, '"') + 1; > /* strip trailing " from filename */ > tmp = strchr(fn, '"'); > *tmp = 0; > /* -1 since #line is the number of the next line */ > srcpos_set_line(xstrdup(fn), atoi(line) - 1); > } > > Hrm. Is this a "that's not in the kernel's copy yet" problem? > Or did this fail to match the offending '# <line> <file>' somehow? > (Like, is that '# 375' really in column 1?) The "#" is in the first column. I've attached the actual file. Ian. View attachment ".virtex440-ml510.dtb.dts.tmp" of type "text/plain" (12339 bytes) View attachment "virtex440-ml510.dts" of type "text/x-csrc" (14475 bytes)
Powered by blists - more mailing lists