Author: dnusinow
Date: 2006-03-06 21:15:33 -0500 (Mon, 06 Mar 2006)
New Revision: 1403

Removed:
   
branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/10_loader_speed_hack.diff
Modified:
   branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/changelog
   branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/series
Log:
* Remove loader speed hack patch, which is obsolete and merged in a better
  form upstream. Thanks Daniel Stone.


Modified: branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/changelog
===================================================================
--- branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/changelog 
2006-03-06 03:03:33 UTC (rev 1402)
+++ branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/changelog 
2006-03-07 02:15:33 UTC (rev 1403)
@@ -11,14 +11,13 @@
     + general/099e_xorgconf_manpage_overhaul.diff
     + s390/500_s390_support.diff
     + debian/910_debian_Xserver_RTFF.diff
-    + general/028_loader_speed_hack.diff
   * add 04_read_rom_in_chunks.diff. This reads PCI ROM in large chunks rather
     than one byte at a time. This patch by Alex Williamson and forwarded to us
     by Dann Frazier. Thanks to both of them. (closes: #353168)
   * Don't build xserver-xorg-core on s390. This means putting all the other
     arches as being explicitly listed. Damn !s390.
 
- -- David Nusinow <[EMAIL PROTECTED]>  Sun,  5 Mar 2006 21:58:07 -0500
+ -- David Nusinow <[EMAIL PROTECTED]>  Mon,  6 Mar 2006 21:14:00 -0500
 
 xorg-server (1:1.0.1-1) experimental; urgency=low
 

Deleted: 
branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/10_loader_speed_hack.diff
===================================================================
--- 
branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/10_loader_speed_hack.diff
 2006-03-06 03:03:33 UTC (rev 1402)
+++ 
branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/10_loader_speed_hack.diff
 2006-03-07 02:15:33 UTC (rev 1403)
@@ -1,344 +0,0 @@
-$Id: 028_loader_speed_hack.diff 867 2005-11-13 16:29:11Z dnusinow $
-
-This is the first (and most important) loader speed hack: instead of walking
-the entire directory tree, stat()ing every file, and running a regex on it,
-we just stat the directoires themselves, and attempt to open the files.
-
-The directory search order has also been arranged to be more optimal.
-
-Appending linux/ to every directory name should probably go, but causes
-mysterious segfaults deep in hardware access, with a smashed stack. Tricky.
-
-Also, ignore requests to load speedo and GLcore, which shouldn't be loaded in
-any case.
-
-Author: Daniel Stone <[EMAIL PROTECTED]>
-
-Index: xc/programs/Xserver/hw/xfree86/common/xf86Config.c
-===================================================================
---- xc/programs/Xserver/hw/xfree86/common/xf86Config.c.orig    2005-11-13 
10:56:18.000000000 -0500
-+++ xc/programs/Xserver/hw/xfree86/common/xf86Config.c 2005-11-13 
10:56:20.000000000 -0500
-@@ -253,6 +253,9 @@
-     char **modulearray;
-     pointer *optarray;
-     XF86LoadPtr modp;
-+    /* we pretend these modules don't exist */
-+    char *ignore[] = { "GLcore", "speedo" };
-+    int i = 0, doignore = 0;
-     
-     /*
-      * make sure the config file has been parsed and that we have a
-@@ -287,6 +290,17 @@
-     if (xf86configptr->conf_modules) {
-       modp = xf86configptr->conf_modules->mod_load_lst;
-       while (modp) {
-+          for (i = 0, doignore = 0; i < 2; i++) {
-+                if (strcmp(modp->load_name, ignore[i]) == 0) {
-+                    xf86Msg(X_WARNING, "Ignoring request to load module %s\n",
-+                            modp->load_name);
-+                  doignore = 1;
-+              }
-+            }
-+          if (doignore) {
-+                modp = (XF86LoadPtr) modp->list.next;
-+                continue;
-+           }
-           modulearray[count] = modp->load_name;
-           optarray[count] = modp->load_opt;
-           count++;
-Index: xc/programs/Xserver/hw/xfree86/loader/loadmod.c
-===================================================================
---- xc/programs/Xserver/hw/xfree86/loader/loadmod.c.orig       2005-11-13 
10:56:18.000000000 -0500
-+++ xc/programs/Xserver/hw/xfree86/loader/loadmod.c    2005-11-13 
10:56:20.000000000 -0500
-@@ -218,79 +218,6 @@
-     NULL
- };
- 
--/*
-- * Standard set of module name patterns to check, in order of preference
-- * These are regular expressions (suitable for use with POSIX regex(3)).
-- */
--static PatternRec stdPatterns[] = {
--    {"^lib(.*)\\.so$",},
--    {"^lib(.*)\\.a$",},
--    {"(.*)_drv\\.so$",},
--    {"(.*)_drv\\.o$",},
--    {"(.*)\\.so$",},
--    {"(.*)\\.a$",},
--    {"(.*)\\.o$",},
--    {NULL,}
--};
--
--static PatternPtr
--InitPatterns(const char **patternlist)
--{
--    char errmsg[80];
--    int i, e;
--    PatternPtr patterns = NULL;
--    PatternPtr p = NULL;
--    static int firstTime = 1;
--    const char **s;
--
--    if (firstTime) {
--      /* precompile stdPatterns */
--      firstTime = 0;
--      for (p = stdPatterns; p->pattern; p++)
--          if ((e = regcomp(&p->rex, p->pattern, REG_EXTENDED)) != 0) {
--              regerror(e, &p->rex, errmsg, sizeof(errmsg));
--              FatalError("InitPatterns: regcomp error for `%s': %s\n",
--                         p->pattern, errmsg);
--          }
--    }
--
--    if (patternlist) {
--      for (i = 0, s = patternlist; *s; i++, s++)
--          if (*s == DEFAULT_LIST)
--              i += sizeof(stdPatterns) / sizeof(stdPatterns[0]) - 1 - 1;
--      patterns = xalloc((i + 1) * sizeof(PatternRec));
--      if (!patterns) {
--          return NULL;
--      }
--      for (i = 0, s = patternlist; *s; i++, s++)
--          if (*s != DEFAULT_LIST) {
--              p = patterns + i;
--              p->pattern = *s;
--              if ((e = regcomp(&p->rex, p->pattern, REG_EXTENDED)) != 0) {
--                  regerror(e, &p->rex, errmsg, sizeof(errmsg));
--                  ErrorF("InitPatterns: regcomp error for `%s': %s\n",
--                         p->pattern, errmsg);
--                  i--;
--              }
--          } else {
--              for (p = stdPatterns; p->pattern; p++, i++)
--                  patterns[i] = *p;
--              if (p != stdPatterns)
--                  i--;
--          }
--      patterns[i].pattern = NULL;
--    } else
--      patterns = stdPatterns;
--    return patterns;
--}
--
--static void
--FreePatterns(PatternPtr patterns)
--{
--    if (patterns && patterns != stdPatterns)
--      xfree(patterns);
--}
--
- static const char **
- InitSubdirs(const char **subdirlist)
- {
-@@ -479,18 +406,15 @@
- }
- 
- char **
--LoaderListDirs(const char **subdirlist, const char **patternlist)
-+LoaderListDirs(const char **subdirlist, const char **unused)
- {
-     char buf[PATH_MAX + 1];
-     char **pathlist;
-     char **elem;
-     const char **subdirs;
-     const char **s;
--    PatternPtr patterns;
--    PatternPtr p;
-     DIR *d;
-     struct dirent *dp;
--    regmatch_t match[2];
-     struct stat stat_buf;
-     int len, dirlen;
-     char *fp;
-@@ -504,11 +428,6 @@
-       FreePathList(pathlist);
-       return NULL;
-     }
--    if (!(patterns = InitPatterns(patternlist))) {
--      FreePathList(pathlist);
--      FreeSubdirs(subdirs);
--      return NULL;
--    }
- 
-     for (elem = pathlist; *elem; elem++) {
-       for (s = subdirs; *s; s++) {
-@@ -516,52 +435,24 @@
-               continue;
-           strcpy(buf, *elem);
-           strcat(buf, *s);
--          fp = buf + dirlen;
--          if (stat(buf, &stat_buf) == 0 && S_ISDIR(stat_buf.st_mode) &&
--              (d = opendir(buf))) {
-+          if (d = opendir(buf)) {
-               if (buf[dirlen - 1] != '/') {
-                   buf[dirlen++] = '/';
--                  fp++;
-               }
-               while ((dp = readdir(d))) {
-                   if (dirlen + strlen(dp->d_name) > PATH_MAX)
-                       continue;
--                  strcpy(fp, dp->d_name);
-                   if (!(stat(buf, &stat_buf) == 0 &&
-                         S_ISREG(stat_buf.st_mode)))
-                       continue;
--                  for (p = patterns; p->pattern; p++) {
--                      if (regexec(&p->rex, dp->d_name, 2, match, 0) == 0 &&
--                          match[1].rm_so != -1) {
--                          len = match[1].rm_eo - match[1].rm_so;
--                          save = listing;
--                          listing = xrealloc(listing,
--                                             (n + 2) * sizeof(char *));
--                          if (!listing) {
--                              if (save) {
--                                  save[n] = NULL;
--                                  FreeStringList(save);
--                              }
--                              FreePathList(pathlist);
--                              FreeSubdirs(subdirs);
--                              FreePatterns(patterns);
--                              return NULL;
--                          }
--                          listing[n] = xalloc(len + 1);
--                          if (!listing[n]) {
--                              FreeStringList(listing);
--                              FreePathList(pathlist);
--                              FreeSubdirs(subdirs);
--                              FreePatterns(patterns);
--                              return NULL;
--                          }
--                          strncpy(listing[n], dp->d_name + match[1].rm_so,
--                                  len);
--                          listing[n][len] = '\0';
--                          n++;
--                          break;
--                      }
--                  }
-+                    fp = LoaderGetCanonicalName(buf, NULL);
-+                    if (fp && strcmp(buf, fp) != 0) {
-+                      listing = xrealloc(listing, (n + 2)*sizeof(char *));
-+                        listing[n] = xalloc(strlen(fp) + 1);
-+                      strncpy(listing[n], fp, strlen(fp));
-+                      listing[n][strlen(fp)] = '\0';
-+                      n++;
-+                    }
-               }
-               closedir(d);
-           }
-@@ -757,7 +648,7 @@
- 
- ModuleDescPtr
- LoadSubModule(ModuleDescPtr parent, const char *module,
--            const char **subdirlist, const char **patternlist,
-+            const char **subdirlist, const char **unused,
-             pointer options, const XF86ModReqInfo * modreq,
-             int *errmaj, int *errmin)
- {
-@@ -782,7 +673,7 @@
-       return NULL;
-     }
- 
--    submod = LoadModule(module, NULL, subdirlist, patternlist, options,
-+    submod = LoadModule(module, NULL, subdirlist, NULL, options,
-                       modreq, errmaj, errmin);
-     if (submod) {
-       parent->child = AddSibling(parent->child, submod);
-@@ -833,12 +724,7 @@
-  * subdirlist   A NULL terminated list of subdirectories to search.  When
-  *              NULL, the default "stdSubdirs" list is used.  The default
-  *              list is also substituted for entries with value DEFAULT_LIST.
-- * patternlist  A NULL terminated list of regular expressions used to find
-- *              module filenames.  Each regex should contain exactly one
-- *              subexpression that corresponds to the canonical module name.
-- *              When NULL, the default "stdPatterns" list is used.  The
-- *              default list is also substituted for entries with value
-- *              DEFAULT_LIST.
-+ * patternlist  This parameter is deprecated, and should always be NULL.
-  * options      A NULL terminated list of Options that are passed to the
-  *              module's SetupProc function.
-  * modreq       An optional XF86ModReqInfo* containing
-@@ -863,7 +749,7 @@
- 
- ModuleDescPtr
- LoadModule(const char *module, const char *path, const char **subdirlist,
--         const char **patternlist, pointer options,
-+         const char **unused, pointer options,
-          const XF86ModReqInfo * modreq, int *errmaj, int *errmin)
- {
-     XF86ModuleData *initdata = NULL;
-@@ -874,15 +760,14 @@
-     char *p = NULL;
-     ModuleDescPtr ret = NULL;
-     int wasLoaded = 0;
--    PatternPtr patterns = NULL;
-     int noncanonical = 0;
-     char *m = NULL;
- 
-     /*xf86Msg(X_INFO,"OS2DIAG: LoadModule: %s\n",module); */
-     xf86MsgVerb(X_INFO, 3, "LoadModule: \"%s\"", module);
- 
--    patterns = InitPatterns(patternlist);
--    name = LoaderGetCanonicalName(module, patterns);
-+    name = LoaderGetCanonicalName(module, NULL);
-+
-     noncanonical = (name && strcmp(module, name) != 0);
-     if (noncanonical) {
-       xf86ErrorFVerb(3, " (%s)\n", name);
-@@ -934,7 +819,7 @@
- #endif
-     path_elem = pathlist;
-     while (!found && *path_elem != NULL) {
--      found = FindModule(m, *path_elem, subdirlist, patterns);
-+      found = FindModule(m, *path_elem, subdirlist, NULL);
-       path_elem++;
-       /*
-        * When the module name isn't the canonical name, search for the
-@@ -1049,7 +934,6 @@
- 
-   LoadModule_exit:
-     FreePathList(pathlist);
--    FreePatterns(patterns);
-     TestFree(found);
-     TestFree(name);
-     TestFree(p);
-@@ -1282,13 +1166,11 @@
- 
- /* Given a module path or file name, return the module's canonical name */
- static char *
--LoaderGetCanonicalName(const char *modname, PatternPtr patterns)
-+LoaderGetCanonicalName(const char *modname, PatternPtr unused)
- {
--    char *str;
-+    char *str, tmpBuf[102];
-     const char *s;
-     int len;
--    PatternPtr p;
--    regmatch_t match[2];
- 
-     /* Strip off any leading path */
-     s = strrchr(modname, '/');
-@@ -1297,17 +1179,14 @@
-     else
-       s++;
- 
--    /* Find the first regex that is matched */
--    for (p = patterns; p->pattern; p++)
--      if (regexec(&p->rex, s, 2, match, 0) == 0 && match[1].rm_so != -1) {
--          len = match[1].rm_eo - match[1].rm_so;
--          str = xalloc(len + 1);
--          if (!str)
--              return NULL;
--          strncpy(str, s + match[1].rm_so, len);
--          str[len] = '\0';
--          return str;
--      }
-+    if (sscanf(s, "lib%s.a", tmpBuf) == 1)
-+        return xstrdup(tmpBuf);
-+    if (sscanf(s, "%s_drv.o", tmpBuf) == 1)
-+        return xstrdup(tmpBuf);
-+    if (sscanf(s, "lib%s.so", tmpBuf) == 1)
-+        return xstrdup(tmpBuf);
-+    if (sscanf(s, "%s_drv.so", tmpBuf) == 1)
-+        return xstrdup(tmpBuf);
- 
-     /* If there is no match, return the whole name minus the leading path */
-     return xstrdup(s);

Modified: 
branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/series
===================================================================
--- branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/series    
2006-03-06 03:03:33 UTC (rev 1402)
+++ branches/modular/xserver/xorg-server-X11R7.0-1.0.1/debian/patches/series    
2006-03-07 02:15:33 UTC (rev 1403)
@@ -7,4 +7,3 @@
 07_xorgconf_manpage_overhaul.diff -p0
 08_s390_servermd.diff -p3
 09_debian_xserver_rtff.diff -p0
-10_loader_speed_hack.diff -p3


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to