- if (current_nl[X_DUMPDEV].n_value == 0) {
- fprintf(stderr, "savecore: /vmunix: dumpdev not in namelist\n");
- exit(1);
- }
- if (current_nl[X_DUMPLO].n_value == 0) {
- fprintf(stderr, "savecore: /vmunix: dumplo not in namelist\n");
- exit(1);
- }
- if (dump_nl[X_TIME].n_value == 0) {
- fprintf(stderr, "savecore: %s: time not in namelist\n",
- dump_sys);
- exit(1);
- }
- if (dump_nl[X_DUMPSIZE].n_value == 0) {
- fprintf(stderr, "savecore: %s: dumpsize not in namelist\n",
- dump_sys);
- exit(1);
- }
- /* we need VERSION in both images */
- if (current_nl[X_VERSION].n_value == 0) {
- fprintf(stderr, "savecore: /vmunix: version not in namelist\n",
- dump_sys);
- exit(1);
- }
- if (dump_nl[X_VERSION].n_value == 0) {
- fprintf(stderr, "savecore: %s: version not in namelist\n",
- dump_sys);
- exit(1);
- }
- if (dump_nl[X_PANICSTR].n_value == 0) {
- fprintf(stderr, "savecore: %s: panicstr not in namelist\n",
- dump_sys);
- exit(1);
- }
- /* we need DUMPMAG in both images */
- if (current_nl[X_DUMPMAG].n_value == 0) {
- fprintf(stderr, "savecore: /vmunix: dumpmag not in namelist\n");
- exit(1);
- }
- if (dump_nl[X_DUMPMAG].n_value == 0) {
- fprintf(stderr, "savecore: %s: dumpmag not in namelist\n",
- dump_sys);
- exit(1);
- }
- kmem = Open("/dev/kmem", 0);
- Lseek(kmem, (long)current_nl[X_DUMPDEV].n_value, 0);
+ for (i = 0; cursyms[i] != -1; i++)
+ if (current_nl[cursyms[i]].n_value == 0) {
+ log(LOG_ERR, "/vmunix: %s not in namelist\n",
+ current_nl[cursyms[i]].n_name);
+ exit(1);
+ }
+ for (i = 0; dumpsyms[i] != -1; i++)
+ if (dump_nl[dumpsyms[i]].n_value == 0) {
+ log(LOG_ERR, "%s: %s not in namelist\n", dump_sys,
+ dump_nl[dumpsyms[i]].n_name);
+ exit(1);
+ }
+ kmem = Open("/dev/kmem", O_RDONLY);
+ Lseek(kmem, (long)current_nl[X_DUMPDEV].n_value, L_SET);