home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / gnu / gcc / bug / 3140 < prev    next >
Encoding:
Text File  |  1993-01-08  |  2.0 KB  |  57 lines

  1. Newsgroups: gnu.gcc.bug
  2. Path: sparky!uunet!cis.ohio-state.edu!halifax.syncomas.com!shap
  3. From: shap@halifax.syncomas.com
  4. Subject: Bug in config/i386bsd.h
  5. Message-ID: <9301080749.AA05239@life.ai.mit.edu>
  6. Sender: gnulists@ai.mit.edu
  7. Organization: GNUs Not Usenet
  8. References: <9301080705.AA07308@raid.dell.com>
  9. Distribution: gnu
  10. Date: Fri, 8 Jan 1993 04:46:00 GMT
  11. Approved: bug-gcc@prep.ai.mit.edu
  12. Lines: 43
  13.  
  14.    I just looked in config/i386/bsd.h (new name for config/i386bsd.h)
  15.    and I don't see any macros with parameters that might be stringified.
  16.    Which macros might have this happen?  Can you send me the preprocessed
  17.    output from a compiler that stringized something unexpectedly?
  18.  
  19. I included a command in my original mail that should give warnings on
  20. stringification:
  21.  
  22.    >     gcc -Wtraditional -I. -I.. -E i386bsd.h > /dev/null
  23.  
  24. The reason I included the command is because it's the sort of problem
  25. that is hard to spot by eye, and if it exists in this header file it
  26. probably exists in others. By turning on traditional warnings, the gcc
  27. -E command above will give you line numbers and warnings for (among
  28. other things) potential stringification problems.
  29.  
  30. The offending macros in my copy of i386bsd.h are:
  31.  
  32.     perform_udivsi3
  33.     perform_divsi3
  34.     perform_umodsi3
  35.     perform_modsi3
  36.  
  37. In each case, the macro arguments 'a' and 'b' appear within the asm
  38. strings within the macros. Specifically, the strings "=a" and "a"
  39. cause substitution of the macro argument name 'a'.  The problem won't
  40. show up when compiling native under BSD, but it will bite you in some
  41. cross-compiles.
  42.  
  43. I suppose it's possible that someone has already applied an earlier
  44. bug fix I sent in on this, and has changed the macro arguments to 'aa'
  45. and 'bb'.  Or maybe the macros were moved to another file in your
  46. reorganization?
  47.  
  48. Anyway, if you look at the indicated macros below, the problem should
  49. be obvious.
  50.  
  51. Hope that helps.  I can generate bad cpp output for you if you really
  52. want it, or send you a copy of my config/i386bsd.h if it will help.
  53.  
  54.  
  55. Jonathan S. Shapiro
  56.  
  57.