I can answer myself after doing some more general research: It's related to dereference of symbolic links when changing the working directory. As it can be seen in below message (objdump output), the working directory during compilation of the chip stuff is "arch/arm/src" which means the "chip" portion is part of the file path. But when the board stuff is compiled, the working directory is changed by entering "board", and this leads to a dereference of the symbolic link to the physical path as working directory. Please correct me if I'm wrong.
Regards, Johannes > -----Original Message----- > From: Schock, Johannes - NIVUS GmbH > [mailto:johannes.sch...@nivus.com] > Sent: Thursday, May 14, 2020 10:50 AM > To: dev@nuttx.apache.org > Subject: Compilation paths > > Hello, > Just a short question because of a lack of understanding: > During make process there are symlinks created: For an ARM target at least > "arch/arm/src/chip" and "arch/arm/src/board". > What I don't understand: > Why is the chip stuff compiled in the virtual folder, but the board stuff is > compiled in the physical folder. Wouldn't it make sense to also compile the > board specific code inside the virtual folder? > Because of this inconsistency(?) I always have problems with setting break > points in Eclipse, because I have to remember what the actual compile folder > really is. > Or is simply something wrong with my setup? > > As reference some objdump output of nuttx elf file: > > <977> DW_AT_name : (indirect string, offset: 0x400): > chip/kinetis_lowputc.c > <97b> DW_AT_comp_dir : (indirect string, offset: 0x1f): > C:\msys64\home\Schock\nuttx\nuttx\arch\arm\src > > <de7d3> DW_AT_name : (indirect string, offset: 0x76c2): > k28_bringup.c > <de7d7> DW_AT_comp_dir : (indirect string, offset: 0x12d9): > C:\msys64\home\schock\nuttx\nuttx\boards\arm\kinetis\freedom-k28f\src > > Regards, Johannes