+static void ProcessFile(int fd, char *fname)
+{
+ char *dbgname = fname;
+
+ if (NULL == fname)
+ {
+ fname = defname; // Kludge first filename
+ dbgname = "(stdin)";
+ }
+
+ // First file operations:
+ if (firstfname == NULL)
+ {
+ // Record first filename.
+ firstfname = fname;
+
+ // Validate option compatibility
+ if (dsym_flag)
+ {
+ if (obj_format != BSD)
+ {
+ printf("-g: debug information only supported with BSD object file format\n");
+ dsym_flag = 0;
+ errcnt++;
+ }
+ else
+ {
+ GenMainFileSym(dbgname);
+ }
+ }
+ }
+
+ include(fd, dbgname);
+ Assemble();
+}
+