From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@lucon.org (H.J. Lu) To: ian@cygnus.com (Ian Lance Taylor) Cc: gas2@cygnus.com Subject: Re: A PREFIX_SEPARATOR bug in binutils 2.9 Date: Tue, 21 Apr 1998 12:32:00 -0000 Message-id: References: <199804211854.OAA04970@subrogation.cygnus.com> X-SW-Source: 1998/msg00160.html > > From: hjl@lucon.org (H.J. Lu) > Date: Tue, 21 Apr 1998 11:41:32 -0700 (PDT) > > In binutils, PREFIX_SEPARATOR is defined as '/' for x86. But there > is > > #if defined (TE_I386AIX) || defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) > const char comment_chars[] = "#/"; > #else > const char comment_chars[] = "#"; > #endif > > in config/tc-i386.c. It makes '/' to start a comment. It won't work. > > Why do you say ``it won't work?'' What do you mean? That code has PREFIX_SEPARATOR indicates a prefix, like data16PREFIX_SEPARATORmov foo,%eax But '/' is also used to start a comment. So data16/mov foo,%eax becomes data16 after preprocessing. > been there since May 1993, so clearly it can work. > Apparently, noone tried to use it or reported it. > We can define PREFIX_SEPARATOR as > > #if defined (TE_I386AIX) || defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) > #define PREFIX_SEPARATOR '\\' > #else > #define PREFIX_SEPARATOR '/' > #endif > > But I don't like it. Any suggestion how to fix it? > > What is the actual problem you are trying to solve? > Can you try the code below on x86/elf? # gcc -v x.s -c # objdump -d x.o # gcc -v x.s -c -Wa,-f # objdump -d x.o H.J. ----x.s-- /xmxmmmmmmmx data16/mov foo,%ax