[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 3/5] x86/mm: override stored file names for multiply built sources
>>> On 26.10.15 at 15:57, <george.dunlap@xxxxxxxxxx> wrote: > On 26/10/15 14:34, Martin Pohlack wrote: >> On 26.10.2015 12:51, Jan Beulich wrote: >>> To make it possible to tell apart the static symbols therein, use their >>> object file names instead of their source ones. >>> >>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >>> --- >>> v2: Introduce __OBJECT_FILE__. >>> >>> --- a/xen/Rules.mk >>> +++ b/xen/Rules.mk >>> @@ -42,10 +42,10 @@ ALL_OBJS-y += $(BASEDIR)/x >>> ALL_OBJS-y += $(BASEDIR)/arch/$(TARGET_ARCH)/built_in.o >>> ALL_OBJS-$(x86) += $(BASEDIR)/crypto/built_in.o >>> >>> -CFLAGS += -fno-builtin -fno-common >>> +CFLAGS += -nostdinc -fno-builtin -fno-common >>> CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith >>> CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h >>> -CFLAGS += -nostdinc >>> +CFLAGS += '-D__OBJECT_FILE__="$@"' >>> >>> CFLAGS-$(XSM_ENABLE) += -DXSM_ENABLE >>> CFLAGS-$(FLASK_ENABLE) += -DFLASK_ENABLE >>> --- a/xen/arch/x86/mm/guest_walk.c >>> +++ b/xen/arch/x86/mm/guest_walk.c >>> @@ -21,6 +21,9 @@ >>> * along with this program; If not, see <http://www.gnu.org/licenses/>. >>> */ >>> >>> +/* Allow uniquely identifying static symbols in the 3 generated objects. */ >>> +asm(".file \"" __OBJECT_FILE__ "\""); >>> + >> >> I wonder if using symlinks to the C files and compiling those would be a >> more obvious way to set the file symbol to something unique. > > That's an interesting idea. My initial reactions: > > 1. Setting up the runes and such to make those links wouldn't be simpler > than the asm()-ery that Jan has here > > 2. Having random linked files lying around has the potential to cause > other forms of confusion (git needs to know to ignore them; developers > may not realize that editing one edits all the others, &c; even if they > do, they may accidentally open two files in an editor that doesn't > realize they're the same file, &c) Yeah, if we wanted to try to do without the asm()s here, I think the next best approach would be to create real source files #define-ing GUEST_PAGING_LEVELS and then include the main one. But to be honest I think the asm() approach is still cheaper than that or (as you say) the symlink one. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |