dde_linux: trying to port the emmc for arm_v8a driver from linux

Stefan Kalkowski stefan.kalkowski at genode-labs.com
Wed Sep 21 08:18:11 CEST 2022


Hello Jean-Adrien,

On Tue, Sep 20, 2022 at 05:41:50PM +0200, Jean-Adrien Domage wrote:
> /tmp/ccOLpMJW.s: Assembler messages:
> /tmp/ccOLpMJW.s:987: Error: section name '__irqchip_of_table' already
> defined as another symbol
> ```
> 
> This error message indicates a rather obvious error: It seems the symbol
> with that name is defined twice with different 'type' in different
> compilation units.
> 
> However, when using grep I can find the symbol within
> `repos/dde_linux/src/lib/lx_emul/spec/arm/irqchip.c` but it is not that
> clear within the Linux source where it is defined. I assume in a linker
> script but I'm not sure at all. I couldn't find it using grep (not event a
> declaration, maybe some macro magic happen here). Which let me think that
> the error might not be due to what I actually think...

In general, you might find the compilation unit that already contains
the symbol of the Linux kernel by applying `find` to all object files
of your target, and by combining `nm` and `grep` to find the
locations. You can use the flag `--print-file-name` when calling `nm`
to include the corresponding filename in every match.

In the concrete case, I assume it is a combination of macros, like
`IRQCHIP_DECLARE`, and the ones it depends on.
Probably you've included a Linux kernel source file with interrupt
controller definitions, which is in most cases not a good idea.

Best regards
Stefan

-- 
Stefan Kalkowski
Genode labs

https://github.com/skalk | https://genode.org



More information about the users mailing list