From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?J=F6rg?= Krause Date: Sun, 23 Jul 2017 12:55:26 +0200 Subject: [U-Boot] Data Abort with gcc 7.1 In-Reply-To: References: <20170711165455.xtpi4qdncftbuglt@flea> Message-ID: <1500807326.2333.1.camel@embedded.rocks> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi, On Thu, 2017-07-13 at 01:43 +0100, Måns Rullgård wrote: > Maxime Ripard writes: > > > Hi, > > > > I recently got a gcc 7.1 based toolchain, and it seems like it > > generates unaligned code, specifically in the net_set_ip_header > > function in my case. > > > > Whenever some packet is sent, this data abort is triggered: > > > > => setenv ipaddr 10.42.0.1; ping 10.42.0.254 > > using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in > > MAC de:ad:be:ef:00:01 > > HOST MAC de:ad:be:af:00:00 > > RNDIS ready > > musb-hdrc: peripheral reset irq lost! > > high speed config #2: 2 mA, Ethernet Gadget, using RNDIS > > USB RNDIS network up! > > Using usb_ether device > > data abort > > pc : [<7ff9db10>] lr : [<7ff9f00c>] > > reloc pc : [<4a043b10>] lr : [<4a04500c>] > > sp : 7bf37cc8 ip : 00000000 fp : 7ff6236c > > r10: 7ffed2b8 r9 : 7bf39ee8 r8 : 7ffed2b8 > > r7 : 00000001 r6 : 00000000 r5 : 0000002a r4 : 7ffed30e > > r3 : 14000045 r2 : 01002a0a r1 : fe002a0a r0 : 7ffed30e > > Flags: nZCv IRQs off FIQs off Mode SVC_32 > > Resetting CPU ... I'm running into the same issue using a Buildroot GCC 7 toolchain. [snip] > What hardware did this happen on? If it was on ARMv5, adding the packed > attribute is probably the correct fix. If it was ARMv6 or later, > something else is broken as well. > FWIW, the board I'm using is ARMv5 (an i.MX28). Jörg Krause